FacebookのRSSを取得する(永久ページアクセストークンの取得)
FacebookのRSSを取得し、自分のホームページのTOPICSにしたいなぁと考えた次第です。
FacebookのRSSを取得するには、ページアクセストークンなるものが必要なのですが、通常の方法だと、有効期限が1時間以内のアクセストークンが取得できません。
それだといくらRSSを取得できても、ホームページのTOPICSに使用するには有効期限が短すぎます。
そこで、永久的なアクセストークンを取得できないかと、いろいろぐぐってみたわけです。
以下に私が調査した方法(2017年10月11日時点)を記しておきます。
## 1. (事前準備)アプリ登録およびアプリ情報の取得
Facebookにログインし、アプリ管理をクリックします。
[新しいアプリを作成]ボタンをクリックしてください。
表示されたダイアログで、アプリの表示名を入力します。
セキュリティチェックを行い、送信ボタンをクリックします。 これでアプリが作成されるはずです。
[設定]―[ベーシック]を表示し、『アプリID』と『app secret』をメモしておいてください。
2. ユーザアクセストークンの取得
グラフAPIエクスプローラ https://developers.facebook.com/tools/explorer/145634995501895/ にアクセスします。
アプリにて、作成したアプリを選択します。
トークンを取得かから、[ユーザアクセストークンを取得]を選択します。
manage_pages にチェックを入れ、アクセストークンを取得します。
Facebookでログインダイアログが表示されるので、ログインしてください。
ログインしたダイアログにアクセストークンがコールバックされるので、メモしてください(UUU1H)。
3. ユーザアクセストークンの延長
[ツール&サポート]をクリックしてください。
アクセストークンツールをクリックしてくだい。
[User Token]のデバッグを実施します。
アクセストークンツールにて、アクセストークンUUU1Hをコピペし、デバッグを実施してください。
アクセストークンを延長してください。
表示されたアクセストークンをメモしてください(UUU2M)。
4. 無期限ユーザアクセストークンの取得
にアクセスしてください。 JSONファイルがダウンロードもしくは表示されるので、保存してください。
5. 無期限ページアクセストークンの取得
https://graph.facebook.com/me/accounts?access_token=UUU8
にアクセスしてください。 JSONファイルがダウンロードもしくは表示されるので、保存してください。
{
"data": [
{
"access_token": "PPP8",
"category": "Community",
"name": "hogehoge",
"id": "pegepge",
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
}
],
"paging": {
"cursors": {
"before": "guhaguha",
"after": "haguhagu"
}
}
}
アクセストークンデバッガーにて、上記アクセストークン(PPP8)を入力し、デバッグを実行してください。 有効期限が受け取らないになっていることを確認してください。
6. FacebookページのRSSを取得
Facebookページの[ページ情報]に記されている『ページID』をメモしてください。 ブラウザやJavascriptを用い、以下のアドレスにアクセスするとFacebookページのRSSが取得できます。
https://graph.facebook.com/v2.10/<ページID>/feed?fields=created_time%2Cmessage&access_token=PPP8