ないきまさとの部屋

ないきまさとの部屋のブログ

FacebookのRSSを取得する(永久ページアクセストークンの取得)

2017-10-11 Masato Nike

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]のデバッグを実施します。

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
comments powered by Disqus