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

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

Posted at August 23,2016 1:11 AM
Tag:[facebook]
  • Hatena ブックマーク
  • del.icio.us
  • livedoor
  • Google Bookmarks
  • Yahoo!ブックマーク
  • POOKMARK Airlines
  • ニフティクリップ
  • Buzzurl
  • newsing it!

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


コメントする
コメントするにはまずサインインしてください。
Loading...