3

我们创建了一个具有以下权限的应用程序:

“应用信息”:已上线 “状态和评论页面”:已上线

它具有以下权限:

  • 应用详情 - 英语(英国)

  • 电子邮件

  • 管理页面

  • public_profile

  • 发布动作

  • 用户朋友

再次全部批准。

那么为什么应用程序报告错误并返回以下错误:“(#200)权限错误”。

我们终其一生都看不到我们可能遗漏的东西。这是上个月创建的 v2 应用程序。

谢谢

安东尼

4

3 回答 3

2

好的 - 我不能声称这是一位同事的功劳,但问题是旧的 SDK 正在调用 getLoginUrl。作为调用的一部分,此函数具有 FB 权限,但已更改 - 我们有 publish_stream,但现在我们需要 publish_actions。感谢所有帮助,我希望有人觉得这很有用。

于 2014-08-05T09:26:08.530 回答
0

如果您收到权限错误,则用户没有授予您的应用程序执行操作的权限。请注意,用户可以拒绝除任何 v2 应用程序的基本配置文件之外的任何权限。

您可以使用 Facebook 调试器测试所有 URL、访问令牌或 Open Graph 操作 ID: https ://developers.facebook.com/tools/debug

如果您在此处输入访问令牌,您可以看到用户授予了哪些权限。您也可以调用/me/permissions以查看用户授予的权限,您可以在此处找到有关此的文档: https ://developers.facebook.com/docs/graph-api/reference/v2.0/user/permissions

于 2014-08-01T09:30:03.867 回答
0

发布到 PAGES 而不是 USERS 时。三件事可能会绊倒你......

  1. 您将需要:开发者控制台中的 pages_show_list、manage_pages、publish_pages 权限:https ://developers.facebook.com/apps

  2. 执行 oauth 时,您需要将范围定义为:

    args = {'redirect_uri':' http ://www.yourdomain.com/facebook/callback/','client_id ':settings.FACEBOOK_ID,'scope':'public_profile,pages_show_list,manage_pages,publish_pages',} return HttpResponseRedirect( "%s?%s" % (' https://www.facebook.com/dialog/oauth ', urllib.urlencode(args)))

  3. 您将需要使用页面访问令牌,而不是用户访问令牌。要获得 PAGE ACCESS TOKEN,您需要调用:

https://graph.facebook.com/me/accounts/

它将返回名称、ID 和访问令牌(这是第一页)。

  1. 然后使用 PAGE ACCESS TOKEN 发帖:

    args = { 'access_token':self.facebook_page_token } if message: args['message'] = message if link: args['link'] = link if name: args['name'] = name if picture: args['图片'] = 图片如果标题:args['caption'] = 标题如果地方:args['place'] = 地方响应 = json.loads(urllib.urlopen(" https://graph.facebook.com/%s /feed/ " % self.facebook_page_id, urllib.urlencode(args)).read())

去就好了。您不需要 publish_actions 来发布页面。

于 2017-11-12T05:44:13.843 回答