2007/03/06

BloggerのLabel Feedでエラーが・・。

BetaというかNew Bloggerにはラベル機能があって整理・管理するのに便利なんですが、そのラベル毎にフィードがあるのはご存知でしょうか?

元ネタというか詳しい解説はいつもの如くクリボウさんのページを読んで頂ければと思うのですが、私のこのBlogではラベルフィード機能を使って、記事の下部に「関連のありそうな記事」とかってちょっと間の抜けたLinksを表示しています。

最初は調子良かったのですがレイアウトを修正する為にに何度か自分で試しているとエラーが出ている事がわかりました。


実際にはこの「関連のありそうな記事」は "Bloggerに「関連記事リスト」を。"に書いたように、記事のラベルをLabel FeedをJSONP形式で受け取りその中で日付順の上位5つを現在は表示しています。

Label FeedのURLに関しては上記のクリボウさんのページに"ラベルフィード URL 作成装置"とかも置いてありますのでそちらを参考にしていただくとして、例えばこのBlogで"Blogger"ってラベルのATOM1.0な要約(summary)されたフィードはブラウザにより表示の仕方は変わりますがFirefox2だとこんな感じになります。



上記画像はATOM1.0な形式のフィードに対してFirefoxがスタイル変更をして表示しいますが、ソースはXML形式ですので、これをAJAXな感じでXMLHttpRequestを使って取得して加工し表示って事もありかもしれませんが、フィードのURLが別サイト(www2.blogger.com)になってしまう為、クロスサイトスクリプティング (cross-site scripting) 的なセキュリティー上の問題があり、XMLHttpRequestでは取得する事が出来ません。

ですがBloggerのフィードはJSONそれもCallback指定が可能なJSONPが使えます。Callbackを指定したJSONPなURL<はalt=json-in-scriptとパラメータを指定し、Callbackしてもらう関数名として"callback=任意の関数名"をパラメーターとして指定する形になります。(Javascriptに対してネイティブな形で値を返してくれるので、一手間省けて逆に楽だったりします。)

そのようにして受け取った結果を、今はレイアウトを少し変更しましたので、こんな感じで表示されます。



ですが、これがこんな感じで表示される事があります。



実はこれはJSONPな呼び出しが非同期であり、エラーの検出も困難な為に事前にラベルを列挙して表示しているのです。つまりJSONPな呼び出しが失敗しているんです。

原因はなんだろうとフィードのURLをブラウザで直接開いて見ると、こんなエラー画面が・・・。



別のラベル名で呼び出すとエラーは出ませんが、何度かリロードしてると2~3回でエラーになります。このエラーは暫く時間をおかないと解除されないようで、もしかしたらBloggerの負荷制限なのかとも思っています。

そんな感じで、この件に関してはちょっと情報を漁りつつBloggerに質問してみようかと思います。

Windows VISTAの実環境で使い始めないといけないなぁと思いつつも、勇気と時間がとれなくていまだメインな環境にはインストール出来ない状況です。必要な時間というのは、インストールそのものに必要な時間よりも、その後の設定やトラブルに対処する時間の方です。トラブルってよりも操作方法なり設定が変わった為に出来なくなったり、不具合が出た事に足して対応する時間が惜しいって感じです。以前はそれそのものも楽しめたんですが・・・・・・・・・。

関連のありそうな記事

0 コメント: