エンティティと拡張機能へのデータ保存

エンティティと拡張機能へのデータ保存

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

データストレージ: エンティティおよび拡張機能に対するデータの保存

Zoho プロジェクト向けの拡張機能を作成する際、その拡張機能のデータをどこかに保存する必要がある場合があります。Zoho では、エンティティおよび拡張機能に対するデータの保存にキーと値のペアを使用します。これにより、データを行と列で保存する RDBMS などの従来型データベースが不要になります。

エンティティ プロパティ

キーと値のペアとは?

「キーと値」は、データを保存するための形式です。エンティティまたは拡張機能のプロパティや属性を、キーと値のペアとして保存できます。キーは一意の文字列で、値は JSON オブジェクトになります。セッション情報、ユーザー権限、各種設定などのデータをキーと値のペアとして保存できます。Zoho プロジェクトでサポートされているエンティティや、Zoho プロジェクト向けに作成した拡張機能に対してデータを保存できます。

エンティティに対するデータの保存

Zoho プロジェクトでは、プロジェクト、タスク、課題(Issue)の各エンティティをサポートしています。各エンティティに対して、プロジェクト固有、タスク固有、課題固有のデータを保存できます。キーは一意の文字列で、データは JSON オブジェクトとして保存され、今後はそのキーで識別されます。以下のメソッドを使用して、エンティティに対して保存したデータの保存、取得、更新、削除を行うことができます。

現在のユーザーに閲覧(READ)権限のみがある場合、データの取得のみが可能で、retrieve() だけを呼び出せます。編集権限がある場合は、store()、update()、delete() などの他の関数も呼び出すことができます。

entity.store

エンティティに対してデータを保存します。


var value = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample.png'}
];
var count = 1;
zohoprojects.entity.store('6573492', value, count).then(function(response)
/* Output
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'sample.png\'}]',
      'count' : 1,
      'id': 1587134426
    }
  ]
}
*/
); 

引数
引数名 データ型 説明
キー string

エンティティ プロパティを識別するために使用する一意の文字列です。このキーのみを使用して、後からデータを取得します。

メモ: 最大長: <200> TBD

JSONObject エンティティに対して保存するプロパティ/データ。
件数 Integer エンティティに対して保存されている出現回数。

entity.retrieve

エンティティに対して保存されているデータを取得します。このメソッドの引数には、そのデータを保存した際に使用したキーを指定します。


zohoprojects.entity.retrieve('6573492').then(function(response)
/*Output
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'update.png\'}]',
      'id': 1587134426,
      'count: 1
    }
  ]
}
*/
);

entity.update

エンティティに対して保存されているデータを更新します。このメソッドの引数は、次の 4 つの事前定義されたキーを持つ JSON オブジェクトです。
引数名 データ型 説明
id string 項目に対して現在のキーを保存する際に、項目.store() メソッドの出力として作成された ID。
キー string 新しいキーを項目にマッピングする必要があります。変更前/現在のキーを保持することもできます。
JSON Object 項目に対して更新する必要があるデータまたはプロパティ。
件数 Integer 項目に対して更新された出現回数。

var valueObj = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','name' : 'Sample_New.png'}
];
zohoprojects.entity.update({id:'1587134426',key:'6573492',value:valueObj,count:2}).then(function(response)
/*Output
{
  'properties': [
    {
      'key': '6573492',
      'value': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'name\':\'Sample_New.png\'}]',
      'id': 1587134426,
      'count' : 2
    }
  ]
}
*/
);

項目.delete

特定の項目に対して保存されているデータを削除します。このメソッドの引数には、同じデータを「項目.store()」メソッドで保存した際に出力として作成された ID を指定します。


zohoprojects.entity.削除する(1587134426).then(function(response)
/* Output { 'ステータス': '完了' } */
);

項目プロパティの制限事項

  • キーに対して保存される値は、一度に 50KB を超えてはいけません。
  • このメソッドは、'app_settings', 'attachment_picker', 'blueprint_during', および 'top_band' の各ロケーションでは呼び出せません。
  • 項目プロパティに保存される値は、有効な JSON 形式である必要があります。
  • 項目プロパティに対する同時編集では、一貫性は保証されません。つまり、2 人の異なるユーザーが同じ項目プロパティを同時に変更した場合、最後に行われた変更のみが保存され、先に行われた変更は失われる(上書きされる)可能性があります。

拡張機能プロパティ

拡張機能プロパティとは?

拡張機能自体に対して保存されるキーと値のペアです。ただし、拡張機能を商品からアンインストールすると、その拡張機能に対して保存されていたデータは失われます。これに対して、項目に対して保存されたデータは、拡張機能をアンインストールしても保持されます。拡張機能固有の情報のみが削除され、項目固有のデータは他の拡張機能から引き続き利用できます。

app.store

拡張機能に対してデータを保存します。


var value = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','名前' : 'Sample。png'}
];
zohoprojects.app.store('6573492', value).then(function(response)
/* 出力 { 'properties': [ { 'キー': '6573492', '値': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'名前\':\'sample。png\'}]', 'id': 1587134426 } ] } */
);


引数
引数名 データ型 説明
キー string 拡張機能プロパティを識別するために使用される一意の文字列。
JSONObject 拡張機能に対して保存するプロパティ/データ。

app。retrieve

拡張機能に対して保存されたデータを取得します。このメソッドの引数には、保存時に使用したキーを指定します。データは、そのデータを保存した拡張機能からこのメソッドが呼び出された場合にのみ取得できます。拡張機能がアンインストールされると、データは削除されます。


zohoprojects.app.retrieve('6573492').then(function(response)
/*出力 { 'properties': [ { 'キー': '6573492', '値': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'名前\':\'更新する。png\'}]', 'id': 1587134426 } ] } */
);

app。更新する

拡張機能に対して保存されているデータを更新します。このメソッドの引数は、次の事前定義されたキーを持つ JSON オブジェクトです。
引数名 データ型 説明
id string app.store() メソッドを使用して拡張機能に対して現在のキーを保存した際に、出力として作成された ID。
キー string 拡張機能に対してマッピングする新しいキー。変更前/現在のキーを保持することもできます。
JSON Object 拡張機能に対して更新する必要があるデータまたはプロパティ。

var valueObj = [
{'id' : '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu','名前' : 'Sample_New。png'}
];
zohoprojects.app.更新する({id:'1587134426',key:'6573492',value:valueObj}).then(function(response)
/*Output { 'properties': [ { 'キー': '6573492', '値': '[{\'id\':\'1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu\',\'名前\':\'Sample_New。png\'}]', 'id': 1587134426 } ] } */
);

app。削除する

特定の拡張機能に対して保存されているデータを削除します。このメソッドの引数には、同じデータを app。store() メソッドで保存した際に出力として作成された ID を指定します。


zohoprojects.app.削除する(1587134426).then(function(response)
/* Output { 'ステータス': '完了' } */
);

拡張機能プロパティの制限事項

  • 1 つのキーに対して保存できる値は、一度に 50KB を超えないようにしてください。
  • 1 つの拡張機能につき、最大 100 個のキーと値のペアを保存できます。
  • 拡張機能プロパティに保存する値は、有効な JSON 形式である必要があります。
  • 拡張機能プロパティに対する同時編集では、一貫性は保証されません。つまり、2 人のユーザーが同じ拡張機能プロパティを同時に変更した場合、最後に行われた変更のみが保存され、先に行われた変更は失われる(上書きされる)可能性があります。
拡張機能に対して保存したデータは、次のメソッドを使用して、それぞれ保存、取得、更新、削除できます。