c# Facebook API——用户没有授权应用程序执行此操作

本文关键字:执行 应用程序 操作 授权 Facebook API 用户 | 更新日期: 2023-09-27 18:18:26

我在试图弄清楚如何发布更新到我的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);

访问令牌被检索并返回,因此看起来页面本身不接受我试图设置的权限。

我已经尝试使用开放图形资源管理器调试,但它似乎对我很无用!

任何帮助将非常感激!

谢谢

c# Facebook API——用户没有授权应用程序执行此操作

正如Igy所提到的,当您应该使用用户访问登录流时,您正在使用登录流请求应用程序访问令牌。要发布到粉丝页面,您需要页面访问令牌。

脱机弃用指南参见场景5 https://developers.facebook.com/roadmap/offline-access-removal/