フェイスブックのパスワード変更したら、かつて取得したアクセストークンがダメになってしまい、再取得しようとしたら、ハマってしまいました(泣き)。そもそも元のアクセストークンの取得の時も四苦八苦したので、個人的メモとして。
アプリの認証
https://www.facebook.com/dialog/oauth?client_id={アプリID}&redirect_uri={サイトURL}
- client_idは、ダッシュボードに記載のアプリID
- redirect_uriは、設定>ベーシックのウェブページに記載のサイトURL
- ただし、Facebookログインの有効なOAuthリダイレクトURIにドメインを登録
上記設定は→facebook for developersより
- ただし、Facebookログインの有効なOAuthリダイレクトURIにドメインを登録
ブラウザで上記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"**が、ページのアクセストークンになります。
有効期限を確認
アクセストークンデバッガーの、「アクセストークン」というタブを開き、上記取得のアクセストークンを貼り付け→デバッグを押すと、アクセストークン情報が表示されます。**有効期限が「受け取らない」**となっていれば、成功です。