Google Apps ScriptのPropertiesServiceを使ってみた
こんにちは、TRUSTDOCKのよもぎたです。
Zennのこの記事、SlackのOAuthTokenなんかをハードコードしてZennの記事にするときに'xoxb-deadbeef...'
なんてしてるの、ものすごくダサイですよね。とてもダサいですよね。非常にダサいですよね。
というわけで、Geminiさんに相談してみたら、PropertiesServiceクラスを教えてくれました。
早速使ってみたいと思います、なんて改まるほどのモノでもなくて、よくある任意のキーと任意の値のペアを保管して任意のタイミングで取り出せる仕組みです。
PropertiesServiceクラスの使い方
3つのプロパティがある
PropertiesServiceクラスには getDocumentProperties()
、getScriptProperties()
、getUserProperties()
の3つのメソッドがあり、取得できるプロパティが異なります。詳しくはこちらをご覧ください。
今回の私の目的には、getScriptProperties()
を使うのが良さそうです。
キーと値を設定する
プロパティ(=キー)と値のペアの設定は、Google Apps Scriptの編集ページの左の歯車アイコンの「プロジェクトの設定」から行います。
「プロジェクトの設定」を開くと「スクリプトプロパティ」というセクションがあり、そこでプロパティと値の設定が出来ます。
ここで、「スクリプトプロパティを編集」をクリックすると編集モードになります。必要なプロパティと値を設定して保存すればOKです。プロパティと値のペアを複数設定することもできます。
キーを指定して値を取り出す
プロパティと値のペアを設定して保存したら、スクリプトエディタに戻ります。今回はEXAMPLE_VALUE
というプロパティにfoo
という値を設定したので、それを取り出してみます。
function myFunction() {
let exsample_value;
exsample_value = PropertiesService.getScriptProperties().getProperty('EXAMPLE_VALUE');
console.log(exsample_value);
}
実行すると次のようになります。
すべてのキーと値のペアを取り出す
すべてのプロパティと値のペアを一度にすべて取り出すには、getProperties()
メソッドを使います。
function myFunction() {
let exsample_value;
exsample_value = PropertiesService.getScriptProperties().getProperties();
console.log(exsample_value);
console.log(exsample_value.EXAMPLE_VALUE1);
}
実行結果は次の通りです。
スクリプトプロパティセクションでは上から順に1,2,3と設定したのですが、取り出したときの順番は一定ではないようです。まぁ実際に値を使うときには問題にならないと思いますが。
最後に
これで無事にキレイにコードを公開できるようになりました。僕のレベルがちょっとだけ上がったかな、という感じです。
最後までお読みいただきありがとうございました。
Discussion