データストレージ: エンティティおよび拡張機能に対するデータの保存
エンティティ プロパティ
キーと値のペアとは?
「キーと値」は、データを保存するための形式です。エンティティまたは拡張機能のプロパティや属性を、キーと値のペアとして保存できます。キーは一意の文字列で、値は JSON オブジェクトになります。セッション情報、ユーザー権限、各種設定などのデータをキーと値のペアとして保存できます。Zoho プロジェクトでサポートされているエンティティや、Zoho プロジェクト向けに作成した拡張機能に対してデータを保存できます。
エンティティに対するデータの保存
Zoho プロジェクトでは、プロジェクト、タスク、課題(Issue)の各エンティティをサポートしています。各エンティティに対して、プロジェクト固有、タスク固有、課題固有のデータを保存できます。キーは一意の文字列で、データは JSON オブジェクトとして保存され、今後はそのキーで識別されます。以下のメソッドを使用して、エンティティに対して保存したデータの保存、取得、更新、削除を行うことができます。
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
| 引数名 | データ型 | 説明 |
| 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
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。更新する
| 引数名 | データ型 | 説明 |
| 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。削除する
zohoprojects.app.削除する(1587134426).then(function(response)
/* Output { 'ステータス': '完了' } */
);
拡張機能プロパティの制限事項
- 1 つのキーに対して保存できる値は、一度に 50KB を超えないようにしてください。
- 1 つの拡張機能につき、最大 100 個のキーと値のペアを保存できます。
- 拡張機能プロパティに保存する値は、有効な JSON 形式である必要があります。
- 拡張機能プロパティに対する同時編集では、一貫性は保証されません。つまり、2 人のユーザーが同じ拡張機能プロパティを同時に変更した場合、最後に行われた変更のみが保存され、先に行われた変更は失われる(上書きされる)可能性があります。