我一直在努力弄清楚如何将更新发布到我的Facebook页面,因为我一直收到错误:“(OAuthException - #200)(#200)用户未授权该应用程序执行此操作“
我正在编写一个需要将更新发布到Facebook页面的离线应用程序。我有一个Facebook帐户设置,并在此帐户下有一个页面,这是我想要发布到的。通过我的应用程序,我可以在我自己的帐户时间轴上发布没有问题,但只是不对页面时间轴本身有自己的页面ID。
在回顾了其他人的这类问题之后,我尝试了很多方法:
应用程序本身的权限设置为:publish_actions,manage_pages,publish_stream和status_update
有一篇帖子建议需要在页面上设置权限,我已经通过这篇文章建议的内容进行了设置:Authorizing a Facebook Fan Page for Status Updates。同样,使用了与上述相同的权限,我通过浏览器手动运行这些URL,甚至在适用的对话框中单击“确定”以允许我的应用程序访问。
我的代码是:
var client = new FacebookClient();
dynamic token = client.Get("oauth/access_token", new
{
client_id = appID,
client_secret = appSecret,
grant_type = "client_credentials"
});
client.AccessToken = token.access_token;
dynamic parameters = new System.Dynamic.ExpandoObject();
parameters.title = "Test Title";
parameters.message = "Test Message";
var result = client.Post(pageID + "/feed", parameters);
检索并返回访问令牌,因此看起来页面本身不接受我尝试在其上设置的权限。
我尝试使用Open Graph Explorer进行调试,但对我来说似乎没用!
非常感谢任何帮助!
由于
答案 0 :(得分:0)
正如Igy所提到的,当您使用用户访问登录流时,您正在使用登录流来请求应用程序访问令牌。要发布到粉丝页面,您需要页面访问令牌。
有关离线弃用准则,请参阅此处的方案5 https://developers.facebook.com/roadmap/offline-access-removal/