2026年7月6日月曜日

PropertiesService入門|GASで設定値・APIキーを安全に管理する方法

設定値をコードに書かないという発想

GASで処理を書いていると、次のような情報を扱いたくなる場面が出てきます。

  • スプレッドシートID
  • シート名
  • 通知先メールアドレス
  • 外部APIのキー

初心者のうちは、これらをコードに直接書いてしまいがちです。
しかし実務では、設定値をコードに埋め込む設計は避けるのが基本になります。

この問題を解決するために使うのが PropertiesService です。
この記事では、基本的な使い方に加え、更新・削除・全初期化まで含めた運用を整理します。

目次

PropertiesServiceとは何か

PropertiesServiceは、GASでキーと値のペアを永続的に保存できる仕組みです。
設定値や秘密情報をコードから分離するための、軽量な設定ストアです。

なぜ設定値を分離するのか

  • APIキーやURLの漏洩リスクを下げる
  • 環境ごとの切り替えが容易
  • ロジック変更と設定変更を分離できる

特にAPIキーは、定期的な更新や無効化が発生するため、 PropertiesServiceとの相性が非常に良い対象です。

3種類のプロパティの違い

  • ScriptProperties:全体共有(APIキー向け)
  • UserProperties:ユーザー単位
  • DocumentProperties:ドキュメント単位

本記事では ScriptProperties を前提に説明します。

初期設定手順(画面操作)


function initProperties() {
  const props = PropertiesService.getScriptProperties();
  props.setProperty('API_KEY', 'xxxxxxxx');
  props.setProperty('SHEET_ID', 'yyyyyyyy');
}

この関数を一度実行するだけで、設定は完了します。
設定後は削除しても問題ありません。

基本的な使い方(保存・取得)


function getSettings() {
  const props = PropertiesService.getScriptProperties();
  return {
    apiKey: props.getProperty('API_KEY'),
    sheetId: props.getProperty('SHEET_ID')
  };
}

更新・削除・ローテーション運用

設定値の更新


function updateApiKey(newKey) {
  PropertiesService.getScriptProperties()
    .setProperty('API_KEY', newKey);
}

不要な設定の削除


function deleteSetting(key) {
  PropertiesService.getScriptProperties()
    .deleteProperty(key);
}

APIキー更新時は、停止せずに差し替える運用が可能です。

全削除・初期化スクリプト

検証環境のリセットや、不要設定の一掃を行いたい場合は、 全プロパティ削除が役立ちます。

ScriptPropertiesをすべて削除する


function clearAllProperties() {
  PropertiesService.getScriptProperties().deleteAllProperties();
}

この関数を実行すると、ScriptProperties内の値はすべて削除されます。
本番環境での実行には十分注意してください。

安全に初期化する運用例


function resetProperties() {
  clearAllProperties();
  initProperties();
}

このように、「全削除 → 再登録」をセットにすると、 環境を安全に初期化できます。

注意点とよくある失敗

  • 値はすべて文字列で保存される
  • 削除操作は元に戻せない
  • ログや一時データ用途には使わない

PropertiesServiceは設定管理専用として使うことで、 GAS全体の設計が安定します。

まとめ

この記事では、PropertiesServiceの基本から、 初期設定・更新・削除・全初期化までの運用方法を解説しました。

次回は、これらの設定値を安全に使うための 例外処理(try-catch)とログ設計を解説します。

GAS PropertiesService 全削除 初期化 運用 解説イメージ

0 件のコメント:

コメントを投稿