1. Facebook ページが配信するフィード
a. フィードを表示するブックマークレット
「Facebook ページ」のフィードを取得したい。そのためのブックマークレット。
使い方は、
- 予め上記リンクをブックマークに登録する。
- 登録したい Facebook ページで登録したブックマークをクリック。
これにより、フィードを配信している URL に移動する。記事のタイトルが文字化けして表示されるが、Feedly や Google Reader に登録すると、文字化けは解消される。
ただし、記事の中にある写真は、Facebook のサイトで見るよりも小さい。これに対して、サムネイルをマウスオーバーで拡大するアドオン Thumbnail Zoom Plusを併用すると良い。
b. フィードを検出できないのでブックマークレットが必要
Facebook ページは、その場でフィードを配信している URL が指定されていない。そのため、ブラウザがフィードを検出できない。一般的なブログのようにフィードを簡単に取得できないから不便。これは Facebook 内で「ページフィード」を利用させたいからだろう。
Firefox では、標準でフィードを検出する仕組みが備わっている。ツールバーをカスタマイズすることにより、「購読」ボタンを好きな場所へと配置できる。 Google Chrome では、拡張機能 RSS Subscriptions with FEED で同じ機能を使える。
最近、企業サイトの中に、ホームページをパンフレットの代わりとし、「更新情報」を Facebook ページで提供する形を見かける。フィードリーダーに情報を集約している自分としては、この仕様では困る。なぜなら、わざわざ Facebook を開くのは面倒だから。そのようなサイトを見る度に、自前でフィードを出力するか、フィードを出力するブログで更新情報を通知してほしいと思う。
c. 「お知らせ」のフィード
ところで、Facebook の「お知らせ」通知には、フィードが用意されている。
Facebookのお知らせのRSSフィードを作成するにはどうすればよいですか。 | Facebookヘルプセンター
お知らせページでFacebookのお知らせのRSSフィードを作成することができます。ページ上部のRSSリンクをコピーして、RSSリーダーに貼り付けます。
フィードを登録するには、「お知らせ」より、RSS のリンクをクリックし、フィードリーダーに登録する。
2. Facebook ページのフィードを得る方法
Facebook ページの フィードを得るには、Facebook APIs の Graph API を利用する。
フィードを取得する流れは、
- Facebook ページの id を Graph API を利用して取得する。
- id と「フォーマット」を指定して、フィードを得る。
例えば、フェイスブック ジャパン ( https://www.facebook.com/FacebookJapan )のフィードを手動で取得するには、
- Graph API Explorer を用いて、Graph API で GET を選択し、フィールドに FacebookJapan と入力し、送信ボタンを押す。
- FacebookJapan の id を含んだ情報が表示される。
この id を下記の URL に当てはめる。
- http://www.facebook.com/feeds/page.php?&format=rss20&id=[ここにidを指定する]
これにより、以下の URL がフィードだと分かる。
修正(2013/09/24): Firefox において、安全でないコンテンツをブロックする動作に対する対策をした。
フォーマットが RSS2.0 だと文字化けしない
フィードの「フォーマット」として、ATOM と RSS2.0 を指定できる。
両方とも、フィードのプレビューをブラウザで確認するとタイトル部分が文字化けする。しかし、RSS2.0 の方は、Feedly へ登録すると文字化けが直る。
3. ソースコード
ブックマークレットのソースコードは、以下の通り。
利用したメソッド。
- XMLHttpRequest - DOM | MDN : JavaScript で GET メソッドを利用。非同期通信。
- JSON.parse - JavaScript | MDN : JSON を解析するメソッド。eval 関数 (JavaScript) ではなく、こちらを利用する。
全体の構成。
利用したサイト。
- Compress javascript and css. Amazing code compression. Quick,easy and free!
- Online JavaScript beautifier
対象ページによる場合分け
Facebook ページには、独自のユーザーネームが付けられているページと、そうでないページがある。
例えば、フェイスブック ジャパン にはユーザーネームが設定されている。
これに対して、NICI JAPAN は、Facebook ページの URL が異なる。
この場合、末尾の数次が id のようだ。
関連記事
- フィード
- JavaScript
0コメント:
コメントを投稿