メニュー

Facebookページの更新をサイトに表示させる

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ページの更新情報を配信しています。

この記事をシェアする

  • twitter
  • facebook
  • Google+
  • B!はてブ
  • pocket
トップへ戻る

CONTACT

ゲーム開発、Webサイト制作に関するご相談等ございましたら、お気軽にお問い合わせください。

ゲーム開発に関する
お問い合わせはこちら

Webサイト制作に関する
お問い合わせはこちら