Mar*_*ell 10 authentication api oauth facebook-graph-api
我希望我的应用能够将状态更新发布到特定页面.我有一个应用程序设置和检索它的应用程序ID,而我在Facebook的身份验证文档底部的"页面登录"节中的位置.
第一阶段(用户授予应用程序manage_page权限)似乎完美无缺.我被重定向到这样的URL:
http://myapp.com/#access_token=ACCESS_TOKEN&expires_in=6483
然后,文档说你应该访问以下内容:
https://graph.facebook.com/me/accounts?access_token=TOKEN_FROM_ABOVE
替换TOKEN_FROM_ABOVE为上一个请求返回的那个,这应该返回"用户管理的所有页面的列表,包括每个页面的页面特定访问令牌".
但事实并非如此.我得到的是以下JSON响应:
{
"error": {
"message": "An unexpected error has occurred. Please retry your request later.",
"type": "OAuthException"
}
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我可以在创建应用程序时设置错误吗?错误消息不太有用,因此非常感谢任何帮助.
Mar*_*ell 31
今天早上突然开始工作 - 不明白为什么.
我想我可以进一步阐明这一点。
当请求页面特定的访问令牌时,我经常收到此返回;此调用的失败似乎与访问令牌所管理的帐户管理的页面数量成正比,因此,如果您管理 100 个页面,则失败的频率会高于管理 1 个页面的频率,如果您有5000 页失败的情况比不发生的情况更常见。
这表明失败与响应大小有关,因为对于大型页面集,返回的 JSON 可能非常长。
解决这个问题的方法很简单。而不是请求所有页面的使用
http://graph.facebook.com/me/accounts?access_token={admin access token}
使用
http://graph.facebook.com/{page id}?fields=access_token&access_token={admin access token}
这将返回该页面的访问令牌。由于响应很小,您遇到 Facebook 服务器端错误的频率应该要低得多。自从我转行以来,我认为我从未经历过失败,而且我经常打电话。
| 归档时间: |
|
| 查看次数: |
19964 次 |
| 最近记录: |