アルバムAPIでのコンテナ上での制限など
2009-07-14 (火)カテゴリJavascript , 制作mixiアプリ , OpenSocial
先月のOpensocial hackathonで使ったアルバムAPI周りを再度勉強し直しました。
mixiのコンテナでもひっそりとアルバムAPIが動作するようになっていましたので、動作させる上でのいくつか注意した方がよい箇所をまとめておきます。
■アルバムAPI基本概念
- アプリ登録ユーザのアルバム公開設定を「全体に公開」にしていないとデータの取得が出来ない
- 最低2回の非同期通信が必須(アルバムIDを呼び出して、そのIDを使って写真を呼び出す)
- 写真の名前を付けていない場合はdescriptionの値がnullもしくは画像ファイル名になる
(例. 1111111_2222.jpg)
上記が1とかは分かっていないとアプリ作る際にはまります。
そしてmixiでの制限は以下
■mixiコンテナ上での仕様
- FRIENDSなどのGROUP_ID(範囲の指定)が効かない。ALL、FRIENDS共に駄目
- NETWORK_DISTANCEも同様に効果なし(値としては飛ばしてるけど、効果なし)
- mediaitem.getField(opensocial.MediaItem.Field.ID)が取得できない。mediaitem.fields_.idで取得可能
- 画像を呼び出すと一定時間毎にURLが暗号化?されている部分がある。
(例. http://ic.mixi.jp/p/db596a515e44a61bda01f8e1988316c738fbc062ce/4a5c3440/album/(アルバムID)_(写真ID).jpg)
BASE64か何か?永続データなどで保持しても画像パスは使えない。暗号化部分の法則が分かれば永続データでもいけるか。。 - アルバムのコメントデータなどは取得出来ない
特に4の問題が結構重要で、URLが一定時間で変わると永続データに入れられないので、毎回アルバムデータを取得して、写真IDなどと比較する必要が出てきます。それは手間なので、うまい方法がないか、もうちょっと調べてみたいと思います。
もしかしたらまだmixi側の実装が完了していない状態の可能性もあるので、仕様が変わる恐れがあります(2009/7/11現在)







