2009-11-26 (木)
*mixiアプリを作ってみる
最近,mixiアプリというものが話題になっているようなので,どんなものか試してみる.なんか,色々なアプリがあるようですが,まずは自分で作ってみるが手っ取り早そう.
mixiのユーザなら気軽に使えるし,ユーザ管理もmixiがやってくれるので,手っ取り早く人を集めるには良いかもしれません.
注意:ほとんどmixiアプリ開発の説明を読んでないので間違ったこと書いてるかも
登録
当然のようにmixiのアカウントが必要です.さらに,mixiアプリの開発をするためにはデベロッパー登録をする必要があります.個人と法人で手順が違うようですが,個人での登録なら携帯のメールアドレスとか住所とかを入力して完了です.
規約を読むと,mixiアプリ用のAPIで取得した情報はmixiアプリのためにしか使えないようです.他のサービスとの連携とかはだめなのかな.個人情報についてはユーザの同意の範囲で使えるっぽいので,そちらの規定が優先されるなら,同意をとればアカウントの紐付けは可能かも.
個人と法人の選択肢はあるのですが,同人サークルのような法人格を持たない団体でのアプリの開発は不可能なんでしょうか?代表者のアカウントで公開すればいいのですが,登録したアプリの管理画面は,そのアカウントでしか開けないので不便です.開発者で共用のアカウントを作ることも考えられますが,mixiのライセンス上禁止されています.
郵便番号を入力したら住所は自動で入れて欲しいなぁ.
デベロッパ登録が済めばすぐに開発をはじめられます.
Hello, world!
xmlを適当なサーバにアップロードして,mixiアプリの登録画面で必要事項を埋めるだけ.xmlのサンプルは用意されているので簡単.要は,OpenSocial.
これだけで,mixiアプリとして動いて,自分のトップページに表示させたりも出来るようです.
ただ,「開発中」のアプリは開発者が承認したユーザのみが利用できるようです.公開するためには,カテゴリ申請が必要ですが,10人以上利用者がいないと申請できないようなので,私みたいにmixi上の友達が少ない人は不利ですね.
デバッグ用にalert()とか入れたけど,これって他の人が来てもダイアログ表示されてしまうのか….色々想像してしまったけど,変なことは規約で禁止されていたので,大丈夫でしょう.
少し観察
セキュリティとかも,どうやって確保されているか良く分からないので,挙動を観察してみる.
アプリはiframeで埋め込まれるようです.javascriptで変なこと出来ないようになってますね.
スクリプトが埋め込まれるページが存在するホスト名もアプリごとに違うようです.「[ハッシュ値っぽい文字列].app0.mixi-platform.com」というような名前でした.
Flashを埋め込む
JavaScriptだけでも遊べますが,Flashを使うとさらに楽しそうです.
flashをrequireして,gadgets.flash.embedFlashで埋め込めるようです.HTMLにswfを埋め込むのって,全てのブラウザで動くように書くのが面倒ですがAPI側でやってくれるので簡単.
JavaScriptとFlash間の通信
JavaScriptとFlash間でデータをやり取りするために,flash.external.ExternalInterfaceを使ってみました.
まず,embedFlashでidとかallowScriptAccessとか必要なパラメータを設定.Flash側のSecurity.allowDomainで,アプリがおかれているホストを設定する必要がありますが,とりあえず"*"で.本来なら,Flashのパラメータ経由で受け取るのが良いでしょう.
とりあえず,今日の成果をおいておく.