1

リアルタイム更新のドキュメントには次のように記載されています。

いずれの場合も、OAuth アプリケーションの access_token を送信する必要があります。アプリ アクセス トークンは、アプリ ID とアプリ シークレットを使用して取得されます。

https://graph.facebook.com/oauth/access_token?client_id=<APP_ID>&client_secret=<APP_SECRET>&grant_type=client_credentials

私はこれを行い、フォームの文字列を返しましたaccess_token=<APP_ID>|<String1>-<String2>

一方、BaseFacebook::getApplicationAccessToken()Facebook PHP SDK のメソッドは、「|」を使用して、アプリ ID とアプリ シークレット (32 桁の 16 進数表現の数字のように見えます) を単純に連結します。区切りとして:

/**
 * @return string The application access token, useful for gathering
 *                public information about users and applications.
 */
protected function getApplicationAccessToken() {
  return $this->appId.'|'.$this->appSecret;
}

これら 2 種類のアプリ アクセス トークンには、どのような目的がありますか? それらは交換可能ですか?

4

1 に答える 1

1

それらは交換可能ですか?

私の推測では、彼らはそうです。どちらもアプリのアプリアクセストークンとして受け入れられ、まったく同じ権限を与えられます。

PHP SDKは、Facebookオブジェクトインスタンスを初期化したため、アプリIDをすでに認識しています。したがって、そこでアクセストークンを構築する「シンプルな」バージョンを使用しても害はありません。(そして、アプリアクセストークンを作成する別の方法を提供するために、ここでGraph APIエンドポイントが使用するのはばかげています。なぜなら、誰もがコードの内部を見ることができるからです。)

一方、アプリのアクセストークンをコントロール外で使用する必要がある場合(?)もあるので、アプリの秘密を明かす必要がないように、最初のバージョンも提供されます。

于 2012-05-31T13:51:48.860 に答える