Facebookで無期限のPage Access Tokenを取得する

tokenの期限が2か月とかだと
使いづらいので、やっぱり無期限がよい!

簡単なのは、FacebookアプリのApp ID と App Secret を | でつないだものを
App Access Token として使用すること

でも、これだとルート制限に引っかかることがあった。。。まぁしょうがないけど

こちらを参考に試してみる
https://gist.github.com/xl1/fe779a817a9d4938193d

・ユーザーアクセストークンを取得
いろいろ方法はあるけど、とりあえず簡単そうなやつをチョイス
↓こちらにアクセス
https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts
右上のプルダウンで該当のアプリを選択して、
[トークンを取得]から[ユーザーアクセストークンを取得]をクリックすると
アクセストークンのところに、ユーザーアクセストークンが表示される。

こちらのトークンの有効期限は1時間

・次に長い期限のユーザーアクセストークンを取得する
先ほど取得した短いトークンとapp_id、app_secretをセットして下記URLをたたく
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={token}

app_idやapp_secretは、下記URLから該当のアプリを開いて
[設定] > [ベーシック]から確認できる
https://developers.facebook.com/

・最後に無期限のページアクセストークンの取得
再びこいつにアクセスして、アクセストークンに長いユーザーアクセストークンをセットして
[送信]をクリック!!
https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Faccounts

そうすると無事に無期限のアクセストークンの取得完了!!

※ページを作成していないと、返ってくる値が空なので
 ↓こちらからなんでもよいので作成しておく
 https://www.facebook.com/pages/create.php

最後にちゃんとできているかを
アクセストークンデバッガーで確認!
https://developers.facebook.com/tools/debug/accesstoken/

有効期限が「受け取らない」になってたら
たぶん大丈夫でしょう!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です