我正在Facebook上开发一款游戏,并且在更新玩家的分数时遇到了问题。
应用程序从Facebook接收HTTP ERROR 403作为对更新得分Graph API调用的响应。当我从其他机器重放相同的HTTP post请求时,它会传递而没有任何错误。
更多信息:
这可能不是网络问题,因为一些更新请求通过,这也不是权限问题,因为从其他计算机执行请求时会传递。
有没有人知道如何解决问题或给我一个继续调查的方向?
fiddler记录的HTTP会话(XXX正在替换应用程序访问令牌):
POST /100000868887295/scores/?score=1&access_token=XXX HTTP/1.1
User-Agent: Fiddler
Host: graph.facebook.com
HTTP/1.1 403 Forbidden
Access-Control-Allow-Origin: *
Cache-Control: no-store
Content-Type: text/javascript; charset=UTF-8
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Pragma: no-cache
WWW-Authenticate: OAuth "Facebook Platform" "insufficient_scope" "(#200) User cannot access this application"
X-FB-Rev: 677653
X-FB-Debug: gxaao2ZoKOtcQNpLCO4Wh9kXigIhnGByugWQOlg0Y3Y=
Date: Sat, 24 Nov 2012 15:16:03 GMT
Connection: keep-alive
Content-Length: 101
{"error":{"message":"(#200) User cannot access this application","type":"OAuthException","code":200}}
答案 0 :(得分:1)
问题解决了。 我们在Facebook应用程序后台定义了国家/地区限制。 由于我们的服务器不在其中一个允许的国家/地区,因此该服务器发送的请求被Facebook拒绝。
一旦我们删除了国家限制,一切都开始奏效。
答案 1 :(得分:0)
分数api要求您使用应用程序访问令牌发布分数。