LoginSignup
31
24

More than 5 years have passed since last update.

[Facebook Graph API]無期限のアクセストークンの取得方法

Posted at

フェイスブックのパスワード変更したら、かつて取得したアクセストークンがダメになってしまい、再取得しようとしたら、ハマってしまいました(泣き)。そもそも元のアクセストークンの取得の時も四苦八苦したので、個人的メモとして。

アプリの認証

https://www.facebook.com/dialog/oauth?client_id={アプリID}&redirect_uri={サイトURL}
  • client_idは、ダッシュボードに記載のアプリID
  • redirect_uriは、設定>ベーシックのウェブページに記載のサイトURL
    • ただし、Facebookログインの有効なOAuthリダイレクトURIにドメインを登録 上記設定は→facebook for developersより

ブラウザで上記URLにアクセスすると、redirect_uriに飛ばされます。上のurlのクエリ部分にcode=XXXXXとの記載があり、それが、認証コードになります。

(ユーザー)アクセストークンの取得

https://graph.facebook.com/oauth/access_token?client_id={アプリID}&redirect_uri={サイトURL} &client_secret={app secret}&code={XXXXX}
  • client_secretは、ダッシュボード記載のapp secret
  • codeは、アプリの認証で取得したXXXXXになります

再びブラウザでアクセスすると、

{"access_token":"YYYYYY","token_type":"bearer"}

が返ってきます。
** "access_token":"YYYYYY"**が(ユーザー)アクセストークンになります。

ページのアクセストークンの取得

https://graph.facebook.com/me/accounts?access_token={YYYYYY}

上記にアクセスすると、下記のような管理するFacebookページの一覧が返されます。

{
   "data": [
      {
         "access_token": "ZZZZZ",
         "category": "hogehoge",
         "name": "hogehoge",
         "id": "11111111111111111",
         "perms": [
            "EDIT_PROFILE",
            "CREATE_CONTENT",
            "MODERATE_CONTENT",
            "CREATE_ADS",
            "BASIC_ADMIN"
         ]
      }
   ],
   "paging": {
      "cursors": {
         "before": "munyamunya",
         "after": "suyasuya"
      }
   }
}

"access_token": "ZZZZZ"が、ページのアクセストークンになります。

有効期限を確認

アクセストークンデバッガーの、「アクセストークン」というタブを開き、上記取得のアクセストークンを貼り付け→デバッグを押すと、アクセストークン情報が表示されます。有効期限が「受け取らない」となっていれば、成功です。

参考サイト

31
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
24