拡張ユーザー アクセス トークンを使用して、最大 60 日間動作させることができます。その後、トークンの有効期限が切れ、トークンを更新する必要がありますが、これはユーザーの操作なしでは不可能です。
ドキュメントには同じことが記載されています:
有効期間の長いアクセス トークンでさえ、最終的には期限切れになります。いつでも、ユーザーを Web アプリで使用されるログイン フローに戻すことで、新しい長期間有効なトークンを生成できます。ユーザーは実際に再度ログインする必要はありません。ユーザーは既にアプリを承認しているため、更新されたトークンを使用して、ログイン フローからアプリにすぐにリダイレクトします。これがユーザーにどのように表示されるかは、使用しているログイン フローのタイプによって異なります。たとえば、JavaScript SDK を使用している場合、これは次の場所で行われます。サーバー側のフローを使用している場合、ブラウザはすぐにログイン ダイアログにリダイレクトし、自動的にすぐにアプリに戻ります。
上記を行った後、新しい短命のトークンを取得します。次に、上記と同じ交換を長命のトークンに対して実行する必要があります。
拡張トークンを取得するには、サーバーから次の呼び出しを行います。
GET /oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}
コード
$app_id = APP_ID;
$app_secret = APP_SECRET;
$post_login_url = APP_URL;
$album_name = 'test';
$album_description = 'desc';
$code = $_REQUEST["code"];
//Obtain the access_token with publish_stream permission
if(empty($code))
{
$dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode($post_login_url)
. "&scope=publish_stream";
echo("<script>top.location.href='" . $dialog_url .
"'</script>");
}
else {
// access token
$token_url= "https://graph.facebook.com/oauth/"
. "access_token?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode( $post_login_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token']; // <---
// extended token
$extended_token_url= "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=".$app_id."&client_secret=".$app_secret."&fb_exchange_token=".$access_token;
$response = file_get_contents($extended_token_url);
$params = null;
parse_str($response, $params);
$extended_access_token = $params['access_token']; // <---
// Upload to the photos to the album here
}
これが、拡張トークンを含む完全な認証プロセスです。写真のアップロードに関する多くの投稿を見つけることができます$extended_access_token
。電話で を使用するだけです。
(ご存じないかもしれませんが、Graph API Explorerは API をテストするための facebook の素晴らしいツールです)。
幸運を!