👏
GASでAPIキーをxxx.gasに直接実装しない方法
スクリプトプロパティを使うことで、XXX.gasに記載しない
- 設定 > スクリプトプロパティを追加します。

XXX.gasから呼び出す
- プログラムから参照します。
PropertiesService.getScriptProperties().getProperty("キー名")
function myFunction() {
API_KEY = PropertiesService.getScriptProperties().getProperty("API_KEY");
console.log(API_KEY)
}

メリット1: GitHubなどでコード管理でキーが保存されない
- clasp を使ってソースコードを管理する場合、GitHubなどにキーが保存されず安全です。
メリット2: スプシの実体を操作できる権限がなければ、keyは取得できない
- 企業内であれば、企業内部のGoogle権限を持っている方のみが
keyを見る可能性があります - GASを触れる練度が必要なので一般ユーザーは基本的に見ることはないと割り切ることになります
- 値を別ファイルやKVSなどに保存しても、
console.logで簡単に取得できてしまうため、秘匿性ではスクリプトプロパティを上回ることはなく同等と考えます
最後に
KEYの管理は開発する上で重要事項です。皆様の事故防止に繋がれば幸いです。
Discussion