FacebookのRSSを取得する方法メモです。Facebookでは大規模な仕様変更が何度も行われて、古い情報ではRSSの取得ができない等の弊害が起こったりもします。
常にFacebook API最新バージョンのRSS取得方法を掲載していきます。
過去のバージョン経歴を見てみるとRSS取得がRSS配信からデベロッパー専用でJSON形式に移行したりと、その移り変わりの早さを物語っています。
目次
【2015年~】FacebookでRSS取得方法
2015年6月24日からFacebook APIがバージョンアップになり、今までのRSS取得方法ができなくなりました。
今後RSSを取得するにはFacebook開発者 – 開発者向けFacebookへの登録が必須になります。
Facobook APIへの登録
まずはFacebookのIDでログインします。
そして「My Apps」タブから「Add a New App」を選択します。
それほど難しくない「サイトの情報」を入力する画面が表示されるので、Facobook APIを利用するサイトの情報を入力します。
アクセストークンの発行
次にトークンツールにアクセス – 開発者向けFacebookにアクセスし「アクセストークン」を発行しましょう。
後々必要になるので、このアクセストークンを控えておきます。
FacebookのRSSを取得してみよう
先ほど取得したアクセストークンを利用してフィード情報を取得するには以下にアクセスします。
https://graph.facebook.com/{facobook_page_id}/feed?access_token={access_token}
返り値はJSON形式となります。
今まで通りRSSの処理ではなくJSONの解析が必要になるので、ちょっとした手間ですがこれもAPIサービス利用の宿命です。
【過去Ver】FacebookでRSS取得方法
1.アカウントアドレスから情報を取得
http://graph.facebook.com/[アカウント]
2.JSON形式の「”id”: “この部分”」のIDを取得
3.フォーマットを指定して取得
https://www.facebook.com/feeds/page.php?format=[フォーマット]&id=[取得したID]
4.指定できるフォーマット
「atom10」 or 「rss20」
5.PHPでRSSを利用する場合にはブラウザアクセスを装う必要がある
<hrad>内に以下を指定する
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
まとめ
Facebook等の大手企業の仕様は常に時代をリードしている為、大きな改革もまったなしで行われます。その度に新しいバージョンへの対応が迫られます。
もちろんただの変更でなく、内部的な管理要素の厳重化や、利用サイトの把握、セキュリティレベルの向上など、避けては通れないバージョンアップも含まれているようです。
デベロッパーとしてはあまりに大きな改革には頭を悩ませるわけですが。
今日も知識欲は止まらない。