Google Ajax Feed APIを使って、livedoor blogからRSSを取得して、別のサーバーに新着情報として表示させていたときのことです。
どうも、キャッシュデータを表示しているんではないか? ということが頻繁に起こりました。
修正したはずのエントリーが、古いままで表示されたり・・・
削除したはずのエントリーが、表示されたり・・・
All Aboutの「YUI+Google AJAX Feed API」という記事に、回答が載っていました。
引用させていただきますと・・・
GoogleのGAF用サーバーを経由したデータは、通常のプロクシサーバーと同じようにキャッシュされています。したがって、一度キャッシュされたデータは、次にGoogle側でリフレッシュされるまでの間は、もとのRSSが書き換わっていても反映しないことになります。
もし、これをどうしても強制的に書き換えたいというような場合には、URLクエリにダミーを追加する方法なども有効です。(下記では、ダミークエリ「?123」をURLに追記しています。)
だそうです。
そこで、下記のようにソースに手を加えて、いわゆる「キャッシュ騙し」をします。
このブログのRSSフィードを取得するソースの場合・・・
?の後ろの数字は何でもいいわけです。
あるいは・・・
実行してみると、キャッシュされた内容が表示されて、最新のものが表示されずに困っていたものが、みごと解決できました。

コメントする