取得したフィードの表示

広告

google.feeds.lookupFeedメソッドでフィードのURLを取得したら後はgoogle.feeds.Feedクラスなどを使いフィードをダウンロードするこが出来ます。簡単なサンプルを作成して試してみます。

sample2_1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Google AJAX Feed API テスト</title>
<script type="text/javascript" src="http://www.google.com/jsapi?key=(key)">
</script>
<script type="text/javascript" src="./js/script2_1.js">
</script>
</head>
<body>

<p>Google AJAX Feed API テスト</p>

</body>
</html>

script2_1.js

google.load("feeds", "1");

function initialize() {
  google.feeds.lookupFeed("http://d.hatena.ne.jp/naoya/", getFeedUrl);
}

function getFeedUrl(result){
  if (!result.error){
    if (result.url != null) {
      var feed = new google.feeds.Feed(result.url);
      feed.load(dispfeed);
    }
  }else{
    var container = document.getElementById("feed");
    container.innerHTML = "フィードがありません";
  }
}

function dispfeed(result){
  if (!result.error){
    var container = document.getElementById("feed");
    var htmlstr = "";
    htmlstr += '<h2><a href="' + result.feed.link + '">' + result.feed.title + '</a></h2>';

    for (var i = 0; i < result.feed.entries.length; i++) {
      var entry = result.feed.entries[i];

      htmlstr += '<h3><a href="' + entry.link + '">' + entry.title + '</a></h3>';
      htmlstr += "<p>" + entry.publishedDate + "</p>";
      htmlstr += "<p>" + entry.contentSnippet + "</p>";
      htmlstr += "</p>";
    }

    container.innerHTML = htmlstr;
  }else{
     alert(result.error.code + ":" + result.error.message);
  }
}
google.setOnLoadCallback(initialize);

上記を実際にブラウザ見てみると次のように表示されます。

取得したフィードの表示

( Written by Tatsuo Ikura+ )

Facebook Page