【发布时间】: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 用户从设置>应用程序中删除了该应用程序,并重新授权它,这没有任何区别。我编辑了问题并插入了屏幕截图。如何测试应用程序的贴墙功能?谢谢
-
看到这个stackoverflow.com/questions/15796138/…。这可能会有所帮助
-
@dhana 谢谢老兄!
status_update权限在应用程序控制面板中不可见,这就是我怀疑的原因。但是在范围参数中发送这个解决了我的问题!
标签: python facebook api facebook-graph-api