我的应用有权代表用户“喜欢”某些内容。使用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。
答案 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)并查看是否首先获得我/权限将有助于解决该问题。