Facebookアプリのアクセストークンの有効期限を延長する方法

Facebookアプリのアクセストークンの有効期限を延長する方法

Posted at August 23,2016 1:11 AM
Tag:[facebook]

Facebookアプリのアクセストークンの有効期限を延長する方法を紹介します。

1.問題点

FacebookアプリでOAuth2認証を行うと、Graph APIをセキュアに利用できるアクセストークンを取得できます。

が、このアクセストークンの有効期限は約2時間しかありません。

このアクセストークンの有効期限を延長したいのですが方法が分かりません。

ということでFacebookアプリのアクセストークンを延長する方法を紹介します。

2.アクセストークンを延長する

アクセストークンを延長するには下記の呼び出しを行います。

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}:アプリID
  • {app-secret}:app secret
  • {short-lived-token}:取得したアクセストークン

たとえばPerlの場合、次のように起動します(OAuth2認証部分は省略)。

my $ua = new_ua();
my $response = $ua->get("https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=$facebook_api_key&client_secret=$facebook_api_secret&fb_exchange_token=$access_token");

$responseの中に"access_token="という文字列が含まれており、その右辺に期限が60日に延長されたアクセストークンが設定されています。

なお、期限が短いアクセストークンはウェブアプリのみで、iOS用SDKとAndroid用SDKでは長期のアクセストークンがデフォルトで使用され、自動的に更新されます。

3.参考サイト

参考サイトは下記です。ありがとうございました。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)