2015年6月23日をもってFacebookのRSS配信機能が終了となりました。
新しい取得方法の記事をご覧ください。
graphAPIを使ってfacebookの投稿を読み込む方法
あんまり知られていないのですが、FacebookページはRSSを配信しています。
こちらを利用してpeakvoxのサイトではFacebookページの更新情報を掲載しています。
フィードのアドレスを取得する
peakvoxのFacebookページのRSSはこちらのアドレスです。
太字の部分はIDになりますので、変更しましょう。
http://www.facebook.com/feeds/page.php?format=atom10&id=202991269729258
一応RSS2.0もあったりしますが、基本は上記のATOM使えばいいのではと思います。
http://www.facebook.com/feeds/page.php?format=rss20&id=202991269729258
FacebookページのIDの取得方法
自分が管理しているページであれば、ページの設定画面からIDを確認することができます。
下記のアドレスよりFacebookページの情報を閲覧できます。
太字の部分はFacebookのページネームになります。
http://graph.facebook.com/peakvox
少し見づらいですが、idの記述が下の方にあります。
Google Feed APIを使ってRSSを表示させる
こちらのサイトにわかりやすくまとまっています。
Google AJAX Feed API入門
<script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("feeds", "1"); function initialize() { var today = new Date(); var q = today.getMonth() + "" + today.getDate() + "" + today.getHours(); var feedurl = "http://www.facebook.com/feeds/page.php?format=atom10&id=202991269729258&" + q; //RSS var feed = new google.feeds.Feed(feedurl); feed.setNumEntries(2); //表示数 feed.load(function (result){ if (!result.error){ var container = document.getElementById("feed"); var htmlstr = ""; for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var pdate = new Date(entry.publishedDate); var strdate = pdate.getFullYear() + '.' + (pdate.getMonth() + 1) + '.' + pdate.getDate(); htmlstr += '<p class="time">' + strdate + '</p>'; htmlstr += '<p class="text"><a href="' + entry.link + '">' + entry.contentSnippet + '</a></p>'; } container.innerHTML = htmlstr; }else{ alert(result.error.code + ":" + result.error.message); } }); } google.setOnLoadCallback(initialize); </script>
いつまでたってもフィードが更新されない
APIがどうやらキャッシュを見にいってしまうようで…ひどい時には日単位で遅れが。
こちらの記事を参考にダミークエリをいれてます。
Google Ajax Feed APIでRSSを取得するとキャッシュが利用される件の解決法 – 好奇心の塊
まとめ
peakvox
このような形でFacebookページの更新情報を配信しています。