分数API - 更新请求返回HTTP 403错误,(#200)用户无法访问此应用程序

时间:2012-12-01 16:00:20

标签: c# facebook facebook-graph-api

我正在Facebook上开发一款游戏,并且在更新玩家的分数时遇到了问题。

应用程序从Facebook接收HTTP ERROR 403作为对更新得分Graph API调用的响应。当我从其他机器重放相同的HTTP post请求时,它会传递而没有任何错误。

更多信息:

  1. 在注册期间要求玩家进行publish_actions
  2. 该应用程序已注册为游戏
  3. 应用程序的管理员不会从FB
  4. 获取错误
  5. 运行应用程序的服务器支持负载均衡
  6. 这可能不是网络问题,因为一些更新请求通过,这也不是权限问题,因为从其他计算机执行请求时会传递。

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

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

2 个答案:

答案 0 :(得分:1)

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

一旦我们删除了国家限制,一切都开始奏效。

答案 1 :(得分:0)

分数api要求您使用应用程序访问令牌发布分数。