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

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark