複数フィードを取得する場合の取得するエントリ数を設定

広告

FeedControlクラスを使って複数のフィードを取得する場合も取得するエントリの数を指定することができます。ここではエントリ数の指定方法について解説します。

1.カラムの追加
2.カラムの変更
3.サンプル

デフォルトでは各フィードを取得した時に4つのエントリを取得するように設定されています。この数を変更するには google.feeds.FeedControl クラスで用意されている「setNumEntries」メソッドを使います。

setNumEntries(num)

引数には取得したいエントリの数を指定します。

例えば次のように記述します。

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

function initialize() {
  var control = new google.feeds.FeedControl();
  control.setNumEntries(6);

  control.addFeed("http://www.example.com/rss", "SampleSite");
  control.addFeed("http://www.example.jp/rss", サンプルブログ");

  control.draw(document.getElementById("feed"));
}

google.setOnLoadCallback(initialize);

この場合、各フィード毎にそれぞれ6個のエントリを取得するようになります。

それでは簡単なサンプルで試してみます。

<!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">
<head>
<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="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="./js/script3_1.js"></script>

</head>
<body>

<p>Google AJAX Feed API テスト</p>
<div id="feed"></div>

</body>
</html>
google.load("feeds", "1");

function initialize() {
  var control = new google.feeds.FeedControl();
  control.setNumEntries(1);

  var feedurl1 = "http://googlejapan.blogspot.com/atom.xml";
  var feedurl2 = "http://searchblog.yahoo.co.jp/atom.xml";
  var feedurl3 = "http://www.bing.com/community/Site_Blogs/b/jp/rss.aspx";

  control.addFeed(feedurl1, "Google Japan");
  control.addFeed(feedurl2, "Yahoo!検索 スタッフブログ");
  control.addFeed(feedurl3, "The Bing JP Blog / Bing日本版公式ブログ");

  control.draw(document.getElementById("feed"));
}

google.setOnLoadCallback(initialize);

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

p3-1

今回は取得するエントリ数を1に設定し、各フィードの最新エントリを一覧で表示するようにしています。エントリ数を指定することは可能ですが、フィード毎には個別に設定することはできません。

( Written by Tatsuo Ikura )