GASでスクリプトプロパティを取得する方法
Google App ScriptでAPIキーなどを設定・取得する方法について調べました。スクリプトプロパティは、スクリプトごとに設定できる環境変数のようなもので、文字列を格納することができます。プロパティの取得には、PropertiesServiceを使用し、getPropertyメソッドで値を取得することができます。また、Getterを使ったアダプタークラスを作成すれば、より簡潔に取得することも可能です。例として、slackWebhookUrlの値を取得する方法も記載されています。
広告ここから
広告ここまで
目次
Google App ScriptでAPIキーなどを設定・取得する方法を簡単に調べました。
スクリプトプロパティについて
ドキュメントには次のように説明されています。
1 つのスクリプト、1 つのスクリプトのユーザー、またはエディタ アドオンが使用されているドキュメントにスコープが設定された Key-Value ペアとして、文字列を格納できます。
https://developers.google.com/apps-script/reference/properties?hl=en
とりあえずは、「GASのプロジェクトそれぞれに設定できる、環境変数的なもの」という認識で進めます。
スクリプトプロパティの取得方法
取得には、PropertiesService
を取得します。
PropertiesService.getScriptProperties().getProperty(keyname)
keyname
に設定したプロパティ名を入れましょう。
キーを丸ごと取得することも可能です。
PropertiesService.getScriptProperties().getProperties()
Getterを使ったクラスを作る
短く書きたいので、Getterを使ったアダプタークラスを用意してみました。
class Constants {
_getPropertyByName(keyname) {
return PropertiesService.getScriptProperties().getProperty(keyname)
}
get slackWebhookUrl() {
return this._getPropertyByName('SLACK_WEBHOOK_URL')
}
}
const constants = new Constants()
これなら短く書けます。
Logger.log(constants.slackWebhookUrl)
// https://hooks.slack.com/services/XXXX/XXXX