Google Ajax Feed API:キャッシュ騙しを使う方法

| コメント(0) | トラックバック(0)

Google Ajax Feed APIを使って、livedoor blogからRSSを取得して、別のサーバーに新着情報として表示させていたときのことです。
どうも、キャッシュデータを表示しているんではないか? ということが頻繁に起こりました。

修正したはずのエントリーが、古いままで表示されたり・・・
削除したはずのエントリーが、表示されたり・・・

All Aboutの「YUI+Google AJAX Feed API」という記事に、回答が載っていました。

引用させていただきますと・・・

GoogleのGAF用サーバーを経由したデータは、通常のプロクシサーバーと同じようにキャッシュされています。したがって、一度キャッシュされたデータは、次にGoogle側でリフレッシュされるまでの間は、もとのRSSが書き換わっていても反映しないことになります。

もし、これをどうしても強制的に書き換えたいというような場合には、URLクエリにダミーを追加する方法なども有効です。(下記では、ダミークエリ「?123」をURLに追記しています。)

だそうです。

そこで、下記のようにソースに手を加えて、いわゆる「キャッシュ騙し」をします。

このブログのRSSフィードを取得するソースの場合・・・

var feed = new google.feeds.Feed("http://www.lepracaun.info/blog/atom.xml?256");

?の後ろの数字は何でもいいわけです。
あるいは・・・

var feed = new google.feeds.Feed("http://www.lepracaun.info/blog/atom.xml"+"?"+(new Date()).getTime());

実行してみると、キャッシュされた内容が表示されて、最新のものが表示されずに困っていたものが、みごと解決できました。

トラックバック(0)

トラックバックURL: http://www.lepracaun.info/mt4/mt-tb.cgi/47

コメントする

このブログ記事について

このページは、lepracaunが2007年6月 9日 08:13に書いたブログ記事です。

ひとつ前のブログ記事は「Expression Blend:制御プログラム言語について」です。

次のブログ記事は「Expression Blend:データのバインド」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。