2007年3月2日金曜日

Googleのプロキシサーバーにアクセスできない…

 Developers Guideを参考に、指定したURLのフィードを取得するGadgetを簡単に作ってみた。だいたいの手順は以下のような感じ。
  1. Google Personalized Homeに、「My Gadgets(developers.xml)」ガジェットを追加(いつも使っているPersonalized Homeが、開発中のガジェットの不審な挙動で使いづらくなるのが嫌なので、事前にDevelopmentタブを追加した。)。
  2. ガジェット用XMLファイルを作り、Web上にアップロード(Google Page Createrの自分用スペースにアップロード)
  3. My GadgetsからアップロードしたGadgetを追加

 やってみたところ、自宅からだとうまくフィードが取得できたのに、会社からだとコンテンツフィルタにひっかかってエラーになってしまう。原因を調べてみたところ、Google Gadgetが提供するJavaScriptライブラリで、リモートアクセスする際に使う「_IG_FetchXXXContent」のようなメソッドの仕様のせいだとわかった。Google Gadgetでは、「_IG_FetchXXXContent」のようなメソッドを使えばクロスドメインでリモートアクセスできるんだけど、結局このメソッドは内部でXMLHttpRequestを使っていて、接続先はGoogleが用意したProxyサーバーになっているようだ。で、コンテンツフィルタはこのGoogleのProxyサーバーを「Annonymizer(あらゆるサイトへの匿名アクセスを許す禁止サイト)」に分類しているからエラーになったみたい。

 ちくしょう。家でしか見られないTODOシステムなんて意味ないよ…。残された道は、サーバーを立てるか、クライアントアプリケーションを作るか。どうしたものか…

追記:自宅(proxyなしの環境)でやってみたら、やっぱりエラーになってしまった。うまくいったと思ったのは、アドレスバーに入力して表示できたのと勘違いしていたらしい…結局、認証トークンを送信できていないのでどちらにしろ取得は失敗していた模様。やはりサーバーアプリケーションをたてて、AuthSubを使うしかないようだ。残念。

0 件のコメント: