facebook graph Api:在页面上发布:权限问题

Posted

技术标签:

【中文标题】facebook graph Api:在页面上发布:权限问题【英文标题】:facebook graph Api: Posting on page: permission issue 【发布时间】:2014-05-26 08:43:01 【问题描述】:

我正在尝试开发一个将在用户的 Facebook 页面上发布的应用程序。

我遵循的步骤是: 1.创建了一个fb App,有权限:manage_pagespublish_actions

2.重定向用户到'https://www.facebook.com/dialog/oauth

带参数:

client_id=FACEBOOK_APP_ID
redirect_uri=FACEBOOK_REDIRECT_URL
scope=manage_pages,publish_actions

用户允许应用针对每个权限的位置

3.On call back url (FACEBOOK_REDIRECT_URL), 咳出CODE facebook api 发送

4.现在我用参数向url = https://graph.facebook.com/oauth/access_token发送了get请求:

'client_id':FACEBOOK_APP_ID
'redirect_uri':FACEBOOK_REDIRECT_URL
'client_secret':FACEBOOK_SECRET_KEY,
'code':CODE

从facebook发送的回复中,我过滤了TOKEN

5.将获取请求发送到 url = https://graph.facebook.com/me/accounts。带参数:

'access_token':TOKEN

根据我收到的回复,我将页面 id 保存为 PAGE_ID,page_token 保存为 PAGE_TOKEN

6.我尝试在用户的 facebook 页面上发布一些内容,我向 url = https://graph.facebook.com/PAGE_ID/feed 发送了发布请求,带有参数:

'access_token':TOKEN'
'message': MESSAGE_TEXT,

快点!作为回应,我收到了:


  "error": 
    "message": "(#200) The user hasn't authorized the application to perform this action", 
    "type": "OAuthException", 
    "code": 200
  

我不知道我犯了什么错误,我是否需要在发布之前对我的应用进行审核?如果是,我该如何测试我的应用?

我也通过创建一个测试用户来尝试这个。我遇到了同样的错误。

【问题讨论】:

只需使用 publish_action 权限打开权限对话框,然后更新您的访问令牌,然后发布您的消息 这毫无意义,您的用户需要批准您才能在他们的墙上发帖。如果他们只登录,他们只会授予您最基本的权限,不包括在他们的墙上发帖。 @dhana 用户从设置>应用程序中删除了该应用程序,并重新授权它,这没有任何区别。我编辑了问题并插入了屏幕截图。如何测试应用程序的贴墙功能?谢谢 看到这个***.com/questions/15796138/…。这可能会有所帮助 @dhana 谢谢老兄! status_update 权限在应用程序控制面板中不可见,这就是我怀疑的原因。但是在范围参数中发送这个解决了我的问题! 【参考方案1】:

感谢@dhana,

为了在facebook页面上发布,应用需要manage_pagespublish_action应用中心权限,以及manage_pagespublish_actionstatus_update范围,同时请求

url = https://www.facebook.com/dialog/oauth?\
    client_id='+FACEBOOK_APP_ID+'&\
    redirect_uri=' +FACEBOOK_REDIRECT_URL+'&\
    scope=manage_pages,publish_actions,status_update

【讨论】:

以上是关于facebook graph Api:在页面上发布:权限问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上 Facebook 页面的 Graph API 排序

使用 facebook graph api 允许更多页面

通过 Graph API SDK .NET 将图像发布到 Facebook 页面的问题

使用 Android 中的 Graph API 在 Facebook 上直播视频

使用 graph Api 获取 Facebook 页面事件

无法通过 Graph API 将提要发布到 Facebook 页面