■
Google AJAX Feed APIはAJAXの弱点であるクロスドメイン問題を解決するためには非常に便利。
自分のサイトで他のドメインのブログなどのRSSを表示したい、利用したいということはあるがAJAXは他ドメインのサービスは
利用できない。
そこで、Googleがプロキシのような役割を果たし、GoogleのAPIを通じて目的のドメインのRSSなどを取得することができる。
流れとしては
・取得したいRSSのバージョンを設定する
・利用したいRSSのURLをセットする
・setOnLoadCallbackを実行する
以上です。
取得結果としてコールバック関数が呼ばれるので、それを引数としてfeed.loadを実行すると
feedオブジェクトに目的のURLがセットされているのでそれをJSONなりXMLなりで解析して利用できる。
以下はJSON形式で取得する際のサンプルです(JSONかXMLかは選択できる)
google.load("feeds", "1"); ←RSSバージョンを指定
function initialize() {
var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml"); ←取得先のRSSを指定
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
div.appendChild(document.createTextNode(entry.title));
container.appendChild(div);
}
}
});
}
google.setOnLoadCallback(initialize);
使ってみたが、RSSのエントリがなぜか4つしか取れない・・・
なぜだろうか・・・
誰かわかる人いたら教えてください・・・