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_pages
和publish_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_pages
和publish_action
应用中心权限,以及manage_pages
,publish_action
和status_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 排序
通过 Graph API SDK .NET 将图像发布到 Facebook 页面的问题