libro
www.tuyano.com
JavaScript/Ajaxライブラリ入門

Google Feed API (2/8)

作成:2011-06-08 08:17
更新:2011-06-11 12:10

■Google LoaderからGoogle Feed APIを使う

では、Google Feed APIの機能を使い、RSS/Atomフィードを読み込む手順を頭に入れましょう。

これは、「google.feeds.Feed」というオブジェクトとして用意されています。このオブジェクトをnewで作成する際にフィードのアドレスを指定することで、そのフィードを読み込むためのFeedオブジェクトが作成できます。

new google.feeds.Feed( フィードのアドレス )
単純そうですね。なんだ簡単だ、と思った人。では実際にどうやってスクリプトを書けばいいかわかりますか?

※動かない例
google.load("feeds", "1");
var 変数 = new google.feeds.Feed( フィードのアドレス );
このような形で考えた人。残念でした、これではFeedオブジェクトは正しく作成されません。先に、「google.loadは、Ajax非同期通信でライブラリをロードする」といったことを思い出してください。非同期通信ですから、ライブラリのダウンロードを開始した時点で、(まだライブラリのロードが完了していなくても)すぐに次の処理に進んでしまいます。ということは、new google.feeds.Feedしたときには、まだGoogle Feed APIのライブラリは読み込み終わっていない可能性が高いのです。

Google AJAX APIを利用してライブラリを読み込む場合には、「google.loadのロードを完了してからライブラリの機能を利用する」ようにしなければいけません。これは、以下のように行います。
google.setOnLoadCallback( 実行する処理 );
この引数に、ライブラリの読み込みを完了したら実行する処理を関数などの形で渡しておくのです。これにより、完全にライブラリが使える状態になってから処理を行わせることができます。


■Feedを読み込む

この段階では、まだオブジェクトが作成できただけで、フィードの読み込みは行われません。読み込みは、「load」というメソッドを使って行います。
Feedオブジェクト].load( コールバック関数 );
引数には、読み込み完了時に実行する関数などを渡します。この関数では、引数に読み込んだデータを引数として渡します。この引数から必要に応じてデータをとり出し、処理をしていけばいい、というわけです。

下のリスト欄に、全体の流れをざっと整理しておきました。ライブラリをロードし、setOnLoadCallbackFeedオブジェクトを作成してロードする処理を実行し、設定したコールバック関数で実際の読み込み処理をする、という流れになります。
(by. SYODA-Tuyano.)

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※Google Feed API利用の基本

<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
google.setOnLoadCallback( 実行関数 );

// Ajax通信によるフィード読み込み
function 実行関数 () {
  var feed = new google.feeds.Feed( フィードのアドレス );
  feed.load( コールバック関数 );
}

// Ajax通信後の処理
function コールバック関数 ( 引数 ) {
  if (!引数.error) {
    ……引数からデータをとり出し処理する……
  }
}
</script>
※関連コンテンツ

<< prev next >>

「JavaScript/Ajaxライブラリ入門」に戻る