簡単にフィードを取得できるというGoogle AJAX Feed APIを試してみた。
これを使うと、ブログなどで配信しているRSSフィードを拾い上げ、自分のサイトに反映させることができる。
僕は自分のサイトに、このAPIを使ってブログの新着記事情報をTOPページに表示させている。
http://www.nantekkotai.com/

結論から先に云うと、本当に簡単だ。
まず初めに、google APIを読み込む。ただしGoogle AJAX Feed APIは、この機能を使用するサイトのキーが必要になる。
サインアップページで同意して、サイトURLを入力すれば取得できる。

<script type="text/javascript"
 src="http://www.google.com/jsapi?key=(ここにキーが入る)"></script>

あとは公式ドキュメントを参考にコーディングを行えば、難なく実行できる。
以下はサンプルアプリのコード。jQueryを使っているため、公式ドキュメントのコードとは少し違う。


<script type="text/javascript">
google.load("feeds", "1");
function getFeed() {
  var feed_url = $("#feed_url").val();
  if (!feed_url.match(/^(https?|feed)(:
    \/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/)) {
    alert("URLが正しくありません");
  } else {
    initialize(feed_url);
  }
}
function initialize(feed_url) {
  var feed = new google.feeds.Feed(feed_url);
  feed.setNumEntries(3);
  $("#feed").html("");
  feed.load(function(result) {
    if (!result.error) {
      for (var i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];
        var add_list = "";
        add_list = "	<li><b>" + entry.title + "</b>" + entry.content + "<span>" + entry.publishedDate + "</span></li>";
        $("#feed").append(add_list);
      }
    }
  });
}
</script>

上記のソースは、フォームにフィードURLを入力すると、その内容を表示するといういたってシンプルなもの。
Google AJAX Feed API サンプル
このままWordPressのフィードを出力すると、全文が表示されてしまう。
改善点があるとしたら、その本文の文字数をカウントして、決まった文字数でカットしてしまうことだろうか。

APIなんてものを使い始めたのつい最近だが、かゆいところに手が届くというか、これらを組み合わせるだけで随分と多くのことが出来るだろう。
それにしてもGoogleはすごいなあ、とつくづく感心する次第。
しかし、外部ライブラリやAPIが高機能になるにつれ、プログラミングらしいコードを書く機会は減っている。
いきなり外のものに頼るのは自分のためにならないかも・・・、などと思った。

Leave a Reply