0

私の Facebook PHP SDK アプリケーションは Facebook にログインし、access_token を受け取りました。

PHP SDKを使用して後で「expires」パラメータの値を取得するには?

4

2 に答える 2

2

Facebook APIは、 https://developers.facebook.com/docs/authentication/に記載されているように、応答でaccess_tokenとともにexpiresパラメーターを提供します。

アクセストークン(access_tokenパラメーター)に加えて、応答にはトークンが期限切れになるまでの秒数(expiresパラメーター)が含まれます。トークンの有効期限が切れたら、上記の手順を再実行して新しいコードとaccess_tokenを生成する必要がありますが、ユーザーがすでにアプリを承認している場合は、再度承認するよう求められることはありません。アプリに有効期限が無限のアクセストークンが必要な場合(おそらく、ユーザーがアプリを使用していないときにユーザーに代わってアクションを実行するため)、offline_access権限をリクエストできます。

ここに画像の説明を入力してください

アクセストークンの残り時間を取得しようとしている場合、FacebookにはAPIを介してこれを行うためのメソッドさえあるとは思いません。新しいアクセストークンをリクエストするか、上記のリファレンスにも記載されている「offline_access」トークンをリクエストする方が簡単です。

于 2012-02-25T22:11:10.343 に答える
2

Facebook PHP SDK で「expires」パラメーターを取得するには、SDK 内で提供される base_facebook.php スクリプトに数行を追加する必要があります。

//base_facebook.php
//At Line 728

if (!isset($response_params['access_token'])) {
  return false;
}

//Add these two lines here

$_SESSION['token_created_time'] = time();
$_SESSION['token_expires'] = $response_params['expires'];

return $response_params['access_token'];

アプリケーションに接続したら、「expires」パラメーターと、トークンの有効期限が切れるまでの残り時間に次のようにアクセスできます。

//Your "expires" parameter :
echo $_SESSION['token_expires'];

//The remaining time before your token expires :
echo $_SESSION['token_expires'] + $_SESSION['token_created_time'] - time();

それが役立つことを願っています。

于 2012-07-09T19:30:49.003 に答える