如何解决“必须使用应用程序access_token调用此方法”错误?
我正在我的测试应用程序上测试分数 api。
所以...我已经使用以下权限注册了我的应用程序。
publish_stream,
publish_actions,
user_status,
user_photos
登录后,我在 PHP 中请求以下 api 时
$loggedUser = $Facebook->getUser();
$scoreUpdate = $Facebook->api('/'.$loggedUser."/scores", 'post', array('score'=> 100));
出现以下错误。
必须使用应用程序 access_token 调用此方法
,因此我检查了 sdk 发送到 facebook 的内容,并确认它正在发送“access_token”以及我的参数。
这个案例有什么问题呢?
I'm testing out scores api on my test app.
So...I've singed up my app with the following permissions.
publish_stream,
publish_actions,
user_status,
user_photos
After logged in, I'm requesting the following api in PHP
$loggedUser = $Facebook->getUser();
$scoreUpdate = $Facebook->api('/'.$loggedUser."/scores", 'post', array('score'=> 100));
I get the following error.
This method must be called with an app access_token
So I've checked what the sdk is sending to facebook, and I've confirmed that it is sending 'access_token' along with my params.
What's the problem in this case?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应用程序 access_token 您可以简单地使其像这样:
$facebook->api('/me/scores', 'POST', array(
'分数' => 100,
'access_token'=>; $facebook->getAppId().'|'.$facebook->getApiSecret()
));
瞧
app access_token you can simple make it like this:
$facebook->api('/me/scores', 'POST', array(
'score' => 100,
'access_token' => $facebook->getAppId().'|'.$facebook->getApiSecret()
));
voila
现在有两个令牌,一个用户令牌...和一个应用程序令牌。你需要后者。
现在,如果 PHP-SDK 找到符合您的情况的 access_token,它就会附加用户
access_token
。我建议您阅读官方 Facebook 如何发布分数示例取自我的< a href="http://www.masteringapi.com/tutorials/how-to-get-a-facebook-application-access-token/41/" rel="nofollow">教程:
Now there are two tokens, a User token...and an Application token. You need the later.
Now the PHP-SDK will append the user
access_token
if it finds one which is I think your case. I suggest you read the official Facebook how-to for publishing scoresExample taken from my tutorial:
如果您在 access_token 参数中指定应用程序访问令牌,您最终将失去使用 /me 的能力,因此您必须具体说明用户 ID。否则,您会收到此错误:“OAuthException:必须使用活动访问令牌来查询有关当前用户的信息”,如下所述: facebook 未捕获 OAuthException:必须使用活动访问令牌来查询有关当前用户的信息
If you specify the app access token in the access_token parameter, you will eventually lose the ability to use /me, so you have to be specific about the user ID. Otherwise you get this error: "OAuthException: An active access token must be used to query information about the current user", as explained here : facebook Uncaught OAuthException: An active access token must be used to query information about the current user