F.Ko-Jiの「一秒後は未来」

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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など