使用.net sdk的facebookclient.post()或.posttaskasync()在尝试发布链接时返回无效参数

时间:2014-09-15 03:38:47

标签: facebook-graph-api facebook-c#-sdk

我已经在我的应用程序的先前版本中使用了这个,我尝试使用旧代码,但我认为新的sdk有不同的东西。我只是试图将一个链接(包括一个图像)发布到我的墙上并接收一个"无效参数"响应。

以下是相关代码(我也试过PostTaskAsync()...同样的结果):

var client = new FacebookClient(accessToken);
            var postParams = new
            {
                name = "the name",
                caption = "the caption",
                description = "the description",
                link = "http://www.example.com/",
                picture = "http://www.example.com/uploadedimages/myimage.jpg"
            };
            client.Post("me/feed", postParams);

我尝试用具有相同结果的Dictionary替换该对象。我尝试用动态参数替换对象= new ExpandoObject();结果相同。

如果我发布的对象只有{message ="这是测试消息"它发布的很好,所以我知道我有权在我的墙上张贴。当我尝试发布带有图像的链接时,某些东西并不是真的。我还尝试了urlencoding链接和图像网址,并收到一个不同的错误,表明"链接/图片网址格式不正确"。

我删除了所有参数,认为其中一个不再受支持,但仍然没有骰子。

以下是抛出的确切异常:

  

Facebook.FacebookApiException:(FacebookApiException - #100)无效   Facebook.FacebookClient.ProcessResponse(HttpHelper   httpHelper,String responseString,Type resultType,Boolean   containsEtag,IList`1 batchEtags)at   Facebook.FacebookClient.Api(HttpMethod httpMethod,String path,Object   参数,类型resultType)在Facebook.FacebookClient.Post(String   路径,对象参数)

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。结果是链接和图片网址必须与您用来发布的应用程序位于同一个域中。

编辑:只是为了澄清。该域名必须包含在您的应用程序的配置部分(在Facebook上)的“应用程序域”和#34;顶部的部分。