今回はデータをkey-value形式で管理してくれる
PropertiesService
について。
スクリプト内の設定情報などを管理してくれる便利なクラスです。
データの共有範囲として、
- 全てのユーザーで現在のドキュメント間(add-onで公開しても共有)
- 全てのユーザーで現在のスクリプト間
- 現在のユーザーで現在のスクリプト間
の3つある。それぞれ専用のメソッドが用意されており
- getDocumentProperties()
- getScriptProperties()
- getUserProperties()
の3つある。それぞれ
また、別々のスクリプト間で共有はできない。
Properties
クラスが返ってくる。また、別々のスクリプト間で共有はできない。
まあ、複数のドキュメント間では共有できないという事ですね
サンプル
早速サンプルを試してみたいと思います。
使用するのは
使用するのは
getDocumentProperties()
function setup() {
var dp = PropertiesService.getDocumentProperties();
dp.setProperty('AAA', 'HOGE');
dp.setProperty('BBB', 'FUGA');
}
function dump() {
var dp = PropertiesService.getDocumentProperties();
var keyA = dp.getProperty('AAA');
var keyB = dp.getProperty('BBB');
var keyC = dp.getProperty('CCC');
Logger.log('AAA : ' + keyA);
Logger.log('BBB : ' + keyB);
Logger.log('CCC : ' + keyC);
}
単純ですが、
setup()
でデータをそれぞれのキーで保存し、dump()
でデータを取り出しログ出力しています。
実行結果としては、
AAA : HOGE
BBB : FUGA
CCC : null
になります。
ちなみに存在しないキーを設定すると'null'が返ってきます。
ちなみに存在しないキーを設定すると'null'が返ってきます。
Propertiesクラス
↓
Propertiesクラス
で用意されているメソッドです。- deleteAllProperties()現在のProperties設定値を全削除
- deleteProperty(key)現在のProperties設定値の
key
で設定されている内容を削除 - getKeys()現在のProperties設定値のkey配列
String[]
を取得 - getProperties()現在のPropertiesのコピーを取得
- getProperty(key)現在のPropertiesから引数で指定されたkeyの設定値を取得
- setProperties(properties)現在のPropertiesに引数のPropertiesを設定
- setProperties(properties, deleteAllOthers)引数のPropertiesを現在のPropertiesに設定し、引数のdeleteAllOthersが
true
の場合、設定された内容以外の設定値を削除 - setProperty(key, value)現在のPropertiesに引数のkeyをキーにvalueを設定する
0 件のコメント:
コメントを投稿