Web

#128
2009-07-10
Web


Picasa Web Albums Data API

a chain
a chain


今やフリーの優秀な画像管理ソフトの代表的なPicasa
そしてそのPicasaと同期して利用できるPicasa Web Album
アプリ版のPicasa自体はAdobe Bridgeと併用して長年愛用してるので
オンラインの画像管理をそろそろflickrからPicasa Web Albumへ移行しようかと。


で、今回Picasa Web Albums Data APIをFlashで使用したときに
セキュリティサンドボックス侵害で怒られたので、そのメモ。
まさか今さらクロスドメイン問題で躓くとは思ってもみなかった。


Picasa Web Albums Data APIのDeveloper's Guideによると
APIのリクエストのベースURLは

http://picasaweb.google.com/data/feed/


とのこと。
Flashでのクロスドメインへのアクセスにはポリシーファイルのロードが必要。
なので、慣例通りルートにあるであろう「crossdomain.xml」を迷いなくロード。

const POLICYFILE:String = "http://picasaweb.google.com/crossdomain.xml";
Security.loadPolicyFile(POLICYFILE);


そして、そのままユーザー、アルバム、タグなどもろもろのフィードを取得、
画像の読込みもローカルで確認。万事滞りなく順調。
ところが、一通りローカルで確認が終わって、テストサーバーへアップしてみると、
まさかの「セキュリティサンドボックス侵害」。

とりあえずポリシーファイルをブラウザで覗いてみる
ちゃんと、存在する。じゃあなぜ?とよく見てみると

allow-access-from domain="*.google.com"


外部ドメインからのアクセスが許可されていないぢゃないか。。
これは困った。想定してなかった。まさかの展開。


んんん。。。と悩んで、ご飯食べて、
そしてリファレンスを改めて見直すとあっさり発見。
Using Picasa Web Albums from Flash (crossdomain.xml)
ポリシーファイルの場所は↓でした。

http://photos.googleapis.com/data/crossdomain.xml


なので、このポリシーファイルを使うとなると、
Flashで扱うフィードのリクエストのURLも↓に変わります。

http://photos.googleapis.com/data/feed/


やっぱりリファレンスはちゃんと読まないとダメっすね。。
ちなみにここのリファレンスでは名前空間(ネームスペース)の解説も
丁寧にしてくれてるので、feedを取得したのにデータが扱えないって
困ってる人はよく読みましょー。




現在はオンラインの画像はほぼflickrに置いていて、
このブログに載せてる画像をはじめ、フォトギャラリー(iffalse.fla)でも
flickr APIを利用して画像を呼び出してます。
flickrはフリーアカウントでは月々100MBまでアップロードできますが、
トータルで200枚しか置いておけず、古いものを削除しつつ使ってましたが
さすがにMAXで200枚はキビシイ。



Picasa Web Albumのフリーアカウントの容量はトータルで1GB。
Web上でjpgで公開するだけで考えれば当分の間は容量で困ることはなさそう。
で、公開から2年経ったフォトギャラリーiffalse.flaをリニューアルする予定でっす。

« EVANGELION:2.0  |  TOP  |  Run, Melos »

Post a comment





Trackbacks

URL:
http://iffalse.com/cgi/mt/mt-tb.cgi/129