アプリデータを更新、取得、削除する

出典: goo Developer's Kitchen

OpenSocialに準拠したコンテナ上では、データを保存しておくことのできる領域が利用できます。OpenSocialではAppDataやPersistent Dataと呼ばれていますが、goo Social Platformでは「アプリデータ」と呼びます。アプリデータの実体はkey/value型のストレージで、Persistent APIを使って取得、更新、削除することができます。

目次

アプリデータの基礎知識

goo Social Platformの保存領域

goo Social Platformでは、ガジェットをインストールしたユーザーIDごとに、それぞれのガジェットが保存できる領域が決まっています。1つのガジェットIDに最大10個のキーを持つアプリデータを保存することができます。言い換えると、同じガジェットIDのガジェットを複数インストールしても、10個のキーが共有されることになります。また、各キーの最大保存文字数は1万文字となっています。

JavaScriptオブジェクトの保存

アプリデータは文字列のみ保存することができます。そのため、JavaScriptで扱うオブジェクトを保存する場合には文字列に変換する必要があります。OpenSocialでは、JSON形式の文字列に変換する方法が推奨されます。

OpenSocialでは、JavaScriptのオブジェクトをJSON形式に変換するメソッドとして、gadgets.json.stringify()が用意されています。

JavaScriptオブジェクトの復元

アプリデータに保存したJSON形式の文字列からJavaScriptのオブジェクトに復元するためには、適用されたエスケープを解除してから、JSONオブジェクトをパースする必要があります。これはgadgets.util.unescapeString()およびgadgets.json.parse()メソッドで行うことができます。

パーミッションについて

アプリデータの更新や取得、削除については、パーミッションモデルをしっかり理解してから利用して頂く必要があります。詳しくはこちらをご覧ください。

アプリデータの取得

指定した個人のアプリデータを取得するためにはnewFetchPersonAppDataRequest()を利用します。IdSpecを使って個人を指定し、その上でアプリデータのキーを指定します。「*」を指定すると、「すべてのキー」という意味になります。

サンプルガジェットはこちら

アプリデータの更新

アプリデータ内の内容を更新するにはnewUpdatePersonAppDataRequest()を使います。更新する対象となるキーの名前を、引数で指定することができます。

サンプルガジェットはこちら

アプリデータの削除

アプリデータ内に保存した個人のキーを削除するにはnewRemovePersonAppDataRequest()を使います。キーには「*」(すべてのキー)も指定することができます。

サンプルガジェットはこちら