"血をもって書け。そうすればあなたは、血が精神だということを経験するだろう。"

OpenSocial開発環境(on orkut)構築までの道のり

Orkut Developer's Guideに載ってるようなFriendList(ここではPeople API HowToというガジェットタイトルがついている)の実験ができる環境を一気に作る。何箇所か説明を読み飛ばしてて苦労した。日本語で既に似たような情報があるかもしれないけど読み直すかもしれないのでとりあえずまとめ。

  • Googleアカウント取得。まぁ普通これは済んでるか。
  • ただ単にorkutユーザーになっただけではorkut上での実験はできないのでOrkut Sandbox Sign Upでsandboxへのアクセス権限を申請。Google Developper Programsからアクセス権限を与える旨のメールが来るのを待つ(1日くらいかかった)。
  • 同時にorkutのsandboxユーザーを捕まえて早速friend登録してもらう。

The Orkut Sandbox only returns friends who are also whitelisted for the sandbox
セキュリティ上の理由からOpenSocialはsandboxにwhitelist*1されたユーザーについての情報しか返さない

らしいのでこれは重要。Orkut SandboxのAdding friends to test appsというForumで「俺も登録して!」と名乗ってる気鋭のDeveloperさんたちがいっぱいいるので直接たたけばおk。すぐ返事が来るとは限らないので早めに。

  • サンプルアプリケーションをコピってくる。ソース解読は後でもよろし。Orkut Developer's Guidesample applicationを保存しどこかにUL。UL方法はFTPの他Google Page CreatorとかScratch Pad(Google Gadget EditorというメタガジェットとしてiGoogleに埋め込むことも可能)、など何でもいいと思う。
  • アクセス権限がきたらhttp://sandbox.orkut.comにログイン。
  • 左側サイドバーのapplicationsをクリック。
  • ULしたxmlファイルのURLをぶちこんでadd applicationをクリック。
    • うまくいけばガジェットの動作が確認できるはず。後は修行あるのみ。
    • もとのURL(http://opensocial-resources.googlecode.com/svn/samples/howto/trunk/people.xml)を直接ぶちこんでadd applicationしても何故か動かない。orkutはガジェットのキャッシュをとってる可能性がある。不具合つきXMLのURLを一度食わせたら、不具合を修正して再ULしても挙動が変わらない。逆に同じ内容のXMLファイルでもURLやファイル名を変えるとちゃんと動く。これにハマってかなり時間を食った。・・・ということは何回もデバッグしたいときはそのたびにファイル名を変える必要があるってことか?これは勘弁してほしい。
    • (12/31)追記:キャッシュ云々の混乱で気づかなかったけど、ただのコピーだとうまくいかない気がする。
<Require feature="opensocial-0.6" />

のところを0.5に書き換えれば確実に動く。キャッシュとってるってのは誤認の気がしてきた。

    • (12/31)追記:opensocial0.6でも動く。あれ?今までの不具合はなんだったんだ?とにかく何回か試した結果言えるのはこれだけ。あてにならねーw
      • openresources.googlecode.comにおいてあるXMLを直接入力するのは無効
      • opensocial 0.6はまだ不安定
      • キャッシュもとったり消えたりしている
      • 単にopensocial自体が不安定なのかもしれない

*1:ネイティブかわからないが「nube(newbieのことか)みたいな質問で悪いけどwhitelistってどういうこと?」と聞いてる人がいる。自分もわからなかったのだがwhitelistはblacklistの逆で単に登録の意味。