2

Facebookでゲームを開発していますが、プレーヤーのスコアを更新するのに問題があります。

アプリケーションは、更新スコアグラフAPI呼び出しへの応答として、FacebookからHTTPERROR403を受け取ります。他のマシンから同じHTTPPOSTリクエストを再生すると、エラーなしで渡されます。

詳しくは:

  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アプリケーションのバックオフィスで国の制限が定義されていました。私たちのサーバーは許可された国の1つに配置されていないため、そのサーバーから送信されたリクエストはFacebookによって拒否されました。

国の制限を解除すると、すべてが機能し始めました。

于 2012-12-19T08:46:13.730 に答える
0

スコアAPIでは、アプリケーションアクセストークンを使用してスコアを投稿する必要があります。

于 2012-12-01T16:04:57.683 に答える