opensocial.DataRequest.PersonIdはv0.7、opensocial.IdSpec.PersonIdがv0.8
OpenSocialアプリケーションのサンプルコードを試すときに最初にハマりそうなのでメモ。
いろいろなサンプルコードで「opensocial.DataRequest.PersonId」というのが出てきますが、MySpaceの開発用プラットフォームとかでコピペして試そうとすると、
opensocial.DataRequest.PersonId is undefined
というエラーが出てしまいます。原因がよくわからなかったのでエラーメッセージで検索してみると、「opensocial.DataRequest について – OpenSocial-Japan | Google グループ」に次のように説明されていました。
・opensocial.IdSpecクラス – OpenSocial v0.8
・opensocial.DataRequest.PersonId – OpenSocial v0.7
要するに OpenSocial のバージョン 0.7 では opensocial.DataRequest.PersonId で定義されていたものが、バージョン 0.8 では opensocial.IdSpec.PersionId に変更されているとのこと。
opensocial.DataRequest自体はv0.8でも存在しますが、PersonIdはv0.8ではIdSpecのほうに移動しています。
なのでMySpaceでopensocial.DataRequest.PersonIdを使いたい場合は、「アプリケーションの編集」にある「その他の設定」の「選択したOpenSocial版」を「0.7」に設定するとうまく動きます。
↑ 「アプリケーション情報の編集」で「0.7」を選択して保存
サンプルコードを利用するときは、リファレンスを眺めつつ0.7と0.8の違いに気をつけないといけないです。
» v0.8 OpenSocial API リファレンス – OpenSocial – Google Code
» v0.7 API リファレンス (v0.7) – OpenSocial – Google Code
コメントを残す