POST / /只能在GET之后起作用 - bug还是设计?

时间:2012-01-16 02:15:02

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

我的应用有权代表用户“喜欢”某些内容。使用Facebook C#SDK(5.4.1),这是我写的:

Facebook.FacebookClient fb = new Facebook.FacebookClient(AccessToken);
object o = fb.Get("1234567890_12345678901234567/likes");
dynamic parameters = new ExpandoObject();
dynamic success = fb.Post("1234567890_12345678901234567/likes", parameters);

第二行是多余的,并且会产生不必要的往返,因为我们对同一对象上的其他“喜欢”不感兴趣。但是,没有它,fb.Post失败并抛出“远程服务器返回错误:(400)错误请求。”

这是C#SDK中的错误,还是图API中的错误,还是设计错误?

请注意,可以在没有先前GET的情况下POST到/ comments。

1 个答案:

答案 0 :(得分:1)

是的,应该可以在没有get的情况下执行post命令。奇怪的是,我喜欢5.4.1的代码在POST之前不需要额外的GET来做类似的事情。也许在我的应用程序流程中的其他地方我已经通过API完成了某种GET。但是,我将调查我遇到的me/permissions的DELETE问题(http://stackoverflow.com/questions/8598614/facebook-c-sharp-api-return-400-when-deauthorizing -app)并查看是否首先获得我/权限将有助于解决该问题。