2

我正在 Facebook 上开发一款游戏,但无法更新玩家的分数。

应用程序从 Facebook 接收 HTTP ERROR 403 作为对更新分数图 API 调用的响应。当我从其他机器重播相同的 HTTP 发布请求时,它会通过而没有任何错误。

更多信息:

  1. 在注册期间要求玩家进行 publish_actions
  2. 应用程序注册为游戏
  3. 应用程序的管理员没有收到来自 FB 的错误
  4. 运行应用程序的服务器位于负载平衡之后

这不可能是网络问题,因为一些更新请求通过了,这也不能是权限问题,因为请求是在从其他机器执行时通过的。

有谁知道如何解决问题或给我一个继续调查的方向?

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}}
4

2 回答 2

1

问题解决了。我们在 Facebook 应用程序后台定义了国家限制。由于我们的服务器不在允许的国家之一,因此从该服务器发送的请求被 Facebook 拒绝。

一旦我们取消了国家限制,一切都开始工作了。

于 2012-12-19T08:46:13.730 回答
0

The score api requires that you use an application access token to post the scores.

于 2012-12-01T16:04:57.683 回答