2

アプリ アクセス トークンを使用して、アプリのすべてのユーザーに通知を送信する通知送信システムを構築しました。このシステムは現在、私のローカルホストで実行されています。開発環境とステージ環境の appid と appsecret を使用して構成すると、正常に動作します。しかし、LIVE アプリの appid と appsecret を入力すると、次のエラーが発生します。

{"メッセージ":"この API にはクライアント トークンを使用できません", "type":"OAuthException", "code":190}

では、開発とライブの違いは何ですか? Dev と Stage はサンドボックス モードですが、Live はそうではありません。そのため、Dev/Stage でサンドボックス モードを無効にしてみましたが、引き続き正常に機能します。Dev は正常に動作し、Stage は正常に動作し、Live はこのエラーを返します。appid、appsecret、redirect_uri (各環境のドメインに一致するように変更) を除いて、他のすべてのコードは同じです。

この投稿を確認しましたが、残念ながら、1,000,000 人のユーザーがいるサイトで appsecret をリセットすることは、現時点ではできません (他の多くの機能がそれに依存しています)。

4

1 に答える 1

2

アプリ シークレットではなく、クライアント トークンをリセットする必要があります。エラー メッセージは、ある時点でアプリが [アプリの種類] の下で ([ウェブ] ではなく) [デスクトップ/ネイティブ] に設定されたことを意味します。

以前は、これはアプリ アクセス トークンがクライアント コードに埋め込まれていたため、アプリ署名付きリクエストの作成に対して信頼されないことを意味していました。

クライアント トークンがアプリ シークレットと同一である場合 (一度も変更していない場合は同一になります)、Facebook はそれを信頼するのは安全ではないと見なします。[詳細設定] の [セキュリティ] の下にあるクライアント トークンを変更する必要があります。

ここに画像の説明を入力

于 2012-12-06T19:11:06.883 に答える