ネットサービスとかGoogleとか豆知識とか。

Index > OpenSocial > opensocial.DataRequest.PersonIdはv0.7、opensocial.IdSpec.PersonIdがv0.8
OpenSocial
2009年03月06日 14:54

opensocial.DataRequest.PersonIdはv0.7、opensocial.IdSpec.PersonIdがv0.8

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

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」に設定するとうまく動きます。

myspace-opensocial-version-setting.gif

↑ 「アプリケーション情報の編集」で「0.7」を選択して保存

サンプルコードを利用するときは、リファレンスを眺めつつ0.7と0.8の違いに気をつけないといけないです。

» v0.8 OpenSocial API リファレンス - OpenSocial - Google Code
» v0.7 API リファレンス (v0.7) - OpenSocial - Google Code