FacebookのRSSを取得する方法@Facobook API JSON対応

Facebook
FacebookのRSSを取得する方法メモです。Facebookでは大規模な仕様変更が何度も行われて、古い情報ではRSSの取得ができない等の弊害が起こったりもします。
常にFacebook API最新バージョンのRSS取得方法を掲載していきます。
過去のバージョン経歴を見てみるとRSS取得がRSS配信からデベロッパー専用でJSON形式に移行したりと、その移り変わりの早さを物語っています。

SPONSORED LINK

【2015年~】FacebookでRSS取得方法

2015年6月24日からFacebook APIがバージョンアップになり、今までのRSS取得方法ができなくなりました。
今後RSSを取得するにはFacebook開発者 – 開発者向けFacebookへの登録が必須になります。

Facobook APIへの登録

まずはFacebookのIDでログインします。
facebook_rss_1
そして「My Apps」タブから「Add a New App」を選択します。

facebook_rss_2
今回はウェブサイト向けなので「ウェブサイト」を選択します。

それほど難しくない「サイトの情報」を入力する画面が表示されるので、Facobook APIを利用するサイトの情報を入力します。

facebook_rss_3
入力が終わると、App IDなどの情報が発行されます。

アクセストークンの発行

次にトークンツールにアクセス – 開発者向け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等の大手企業の仕様は常に時代をリードしている為、大きな改革もまったなしで行われます。その度に新しいバージョンへの対応が迫られます。
もちろんただの変更でなく、内部的な管理要素の厳重化や、利用サイトの把握、セキュリティレベルの向上など、避けては通れないバージョンアップも含まれているようです。
デベロッパーとしてはあまりに大きな改革には頭を悩ませるわけですが。

今日も知識欲は止まらない。

関連トピック

mysql

MySQL INSERT エラーNo.1064 の原因と対処方法メモ

MySQLへのINSERT時などに構文エラー1064が発生した場合は、 使用できない文字が混入しているという原因がほとんどです。 誤

php_timestamp

PHPでタイムスタンプを変換して日付を表示する

PHPでタイムスタンプへの変換とタイムスタンプからの変換メモです。 データベースの日付型からの出力などで使ったり、xmlやRSSでの日

Language

PHPのmb_send_mail関数やmail関数で文字化け問題を解消する

PHPのmb_send_mail関数やmail関数で文字化けに悩んでいませんか? 正直、色々な原因があるので特効薬のような対処法はあり

yahoo_api_error

Yahoo!デベロッパーネットワーク「Your Request was Forbidden」エラーの対処方法

Yahoo!デベロッパーネットワークのWeb APIで「Your Request was Forbidden」のエラーが返る場合に確認す

Random

MySQLのrand()ランダム関数の負荷問題を考えてみる

MySQLで結構使う場面が多いランダム関数rand()ですが、間違った指定をするとデータベースに思わぬ負荷をかけることになります。 今

xampp_portable_iretemita

SDカードに「XAMPP Portable」をインストールしてPHP開発環境ゲット!

PHP開発環境として何年かぶりにXAMPPの導入を決めたんですが、XAMPPの開発環境自体をクラウドで同期できないかというトリッキーな方

indent

インデントはタブとスペースのどっちを使うべきなのか?

コーディングをする皆様。インデントを今日もせっせと打っていらっしゃりますか? さて、そのインデントを打つ時にタブ派とスペース派に分かれ

Download

PHPで画像ダウンロードのボタンでリンクする方法

PHPを利用して画像をダウンロードさせるボタンを作成する方法メモです。 リンクボタンをクリックすると保存ダイアログが表示されて、ダウン

公開日:2012/06/20