0

当我不断收到错误消息时,我在试图弄清楚如何将更新发布到我的 Facebook 页面时头疼:“(OAuthException - #200)(#200)用户尚未授权应用程序执行此操作”

我正在编写一个需要将更新发布到 Facebook 页面的离线应用程序。我设置了一个 Facebook 帐户,并在此帐户下有一个页面,这就是我要发布的内容。通过我的应用程序,我可以将问题发布到我自己的帐户时间线,但不能发布到具有自己页面 ID 的页面时间线本身。

在审查了其他人对这类事情的问题之后,我尝试了很多事情:

  • 应用程序本身的权限设置为:publish_actions、manage_pages、publish_stream 和 status_update

  • 一篇文章建议需要在页面本身上设置权限,我通过这篇文章的建议完成了:授权 Facebook 粉丝页面进行状态更新。同样,已使用与上述相同的权限,我通过浏览器手动运行这些 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 进行调试,但对我来说似乎毫无用处!

任何帮助将非常感激!

谢谢

4

1 回答 1

0

As mentioned by Igy, you are using a login flow to request an application access token when you should be using a user access login flow. To post to fan pages you need the page access token.

For offline deprecation guidelines see scenario 5 here https://developers.facebook.com/roadmap/offline-access-removal/

于 2013-06-17T13:00:31.007 回答