根据Facebook文件:
“为用户创建或更新分数
只要您拥有publish_actions权限,就可以通过使用app access_token向/ USER_ID / score发出HTTP POST请求来发布分数或用户。“
所以我从访问令牌工具中获取了应用访问令牌。我还验证了启用了publish_actions权限。
当我使用带有应用访问令牌的/ USER_ID /得分的API资源管理器时,我收到以下错误:
{
"error": {
"message": "A user access token is required to request this resource.",
"type": "OAuthException"
}
}
行。所以我提供了用户访问令牌,我得到了:
{
"error": {
"message": "(#15) This method must be called with an app access_token.",
"type": "OAuthException"
}
}
我在这里做错了什么?
编辑:只要身份验证设置为WEB而不是Mobile / Native,就可以正常工作。
答案 0 :(得分:3)
您需要使用应用程序令牌发布分数。由于您使用的是应用程序令牌,因此您无法再使用/ me,因此您需要发布到/ userid /得分。如果您的应用程序令牌不起作用,请暂时尝试使用此格式:appID | appSecret
您需要首先确保用户已授予publish_actions(通过调用/ userid / permissions进行验证)。您还需要确保将应用程序标记为游戏。
我只是通过Facebook Graph Explorer完成了这项工作,并且它有效:
答案 1 :(得分:1)
如果您在Open-Graph中构建了自己的Action-Type,那么您应该在Action配置页面的“Requires App Token to Publish”中选择“no”。它修复了我的问题“(#15)必须使用app access_token调用此方法。”