0

長いアクセス トークンと短いアクセス トークンの違いは何ですか?

たとえば、次を使用して共通の友達を取得しようとしています:

https://graph.facebook.com/ $uid1/mutualfriends/$uid2?access_token=$token

次の関数を使用してアクセス トークンを取得します。

function getAccessToken(){
    $url ='https://graph.facebook.com/oauth/access_token?client_id='.FB_APP_ID.'&client_secret='.FB_SECRET_ID.'&grant_type=client_credentials';
    $info = file_get_contents($url);
    $clean = clean_up_data($info);
    return($clean);

}

しかし、トークンが有効でないため、これは機能しません。Graph API Explorerで見つかったアクセス トークンを使用した場合は機能しますが、このトークンは大幅に変更されます。

では、共通の友達へのアクセスを許可する有効なトークンを取得するにはどうすればよいでしょうか?

4

1 に答える 1

2

質問のコードを使用して取得するトークンはアプリ トークンであり、ユーザーの友達を取得するために使用することはできません。ユーザー トークンとは異なり、アプリ トークンには有効期限がありません。

ユーザー トークンは、取得方法に応じて、有効期間が短い場合と長い場合があります。短命のトークンは数時間以内に失効しますが、長命のトークンは 60 日後にのみ失効します。

短期間のトークンは、javascript SDKクライアント側の認証フローを使用してログイン ユーザー用に生成され、この新しいエンドポイントを使用して長期間のトークンに拡張できます。サーバー側のフローでは、有効期間の長いトークンも生成されます。

アプリがユーザー アクセス トークンを取得すると、ログインしているユーザーに代わってデータのクエリを実行します。エクスプローラー ツールで右上のアプリケーションを選択し、[アクセス トークンの取得] ボタンをクリックして確認できます。アプリとアクセス許可を許可すると、[アクセス トークン] フィールドにアクセス トークンが表示されます。 API リクエストの作成を開始できます。

于 2012-05-26T19:55:31.630 に答える