【GAS】プロパティストアを簡単に使う
【デフォルト】
・PropertiesService.getScriptProperties()のために変数を増やす
・都度getProperty()と記載する必要あり。
const properties = PropertiesService.getScriptProperties();
const hoge = properties.getProperty("hoge");
【自分の解決策】
下記のコードを使うようにした。
有効化のためにPropertiesService.getScriptProperties()と記述する必要のある煩雑さは残るものの、それ以外の労力はかなり軽減される。
const env = (() => new Proxy({}, {
get: (t, p) => p === "setService" ? v => t.e = v : t.e ? t.e.getProperty(p) : void 0,
set: (t, k, v) => t.e ? t.e.setProperty(k, v) : void 0
}))();
【使用方法】
envの有効化
env.setService(PropertiesService.getScriptProperties());
プロパティの取り出し
const { USER_ACCESS_TOKEN } = env;
// PropertiesService.getScriptProperties().getProperty("USER_ACCESS_TOKEN") と同等。
// const token = env.USER_ACCESS_TOKEN でももちろんOK
プロパティの定義
env.clientId = "hogehoge";
// PropertiesService.getScriptProperties().setProperty("clientId","hogehoge") と同等。
【改善点】
・PropertiesService.getScriptProperties()の記述が面倒。envの定義に予め入れておくのも手。
const env = (() => new Proxy({e : PropertiesService.getScriptProperties()}, {
get: (t, p) => t.e ? t.e.getProperty(p) : void 0,
set: (t, k, v) => t.e ? t.e.setProperty(k, v) : void 0
}))();
有効化の結果を最初から書いただけ。安直だがコピペを考えれば楽そう。
この記事が気に入ったらサポートをしてみませんか?