google apps scriptでjsonファイルなどの設定ファイルに設定情報を保存する最もいい方法は何ですか?

Google Apps Scriptでは、設定情報を保存するためにプロパティサービスを利用することが一般的です²。プロパティサービスは、スクリプトプロパティ、ユーザープロパティ、ドキュメントプロパティの3種類があります²。

これらの情報をスクリプト内に直書きするとセキュリティ的に問題があるため、プロパティサービスを利用します²。また、JSON形式でも保存することが可能です²。

具体的な使い方としては、setPropertyメソッドでユーザープロパティを保存し、getPropertyメソッドで取得します⁴。例えば、次のように設定情報を保存し取得することができます。

// ユーザープロパティを保存
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperty('USER', 'ユーザーテスト');

// ユーザープロパティを取得
var user = userProperties.getProperty('USER');
Logger.log(user);  // ユーザーテスト

ただし、JSONファイルとして保存する場合は、Google Apps ScriptのBlobオブジェクトを利用してファイルを操作する方法もあります¹。Blobオブジェクトはファイル名とMIME型の指定がついた万能なデータ型で、様々なファイル形式をやり取りするときに便利です¹。具体的なコードは以下の通りです。

// JSONデータを作成
var data = {
  key1: 'value1',
  key2: 'value2'
};

// Blobオブジェクトを作成
var blob = Utilities.newBlob(JSON.stringify(data), MimeType.JSON, 'myData.json');

// Google DriveにJSONファイルを作成
DriveApp.getFolderById('folderId').createFile(blob);

スクリプトプロパティはユーザープロパティは、Google Apps Scriptの最新GUI環境から編集することができますか?

はい、Google Apps Scriptの最新のスクリプトエディタでは、スクリプトプロパティとユーザープロパティをGUI操作で設定することが可能です12。具体的な手順は以下の通りです3

  1. スクリプトプロパティを設定したいスクリプトプロジェクトを開きます。
  2. スクリプトエディタの左メニューにある「プロジェクト設定」アイコンをクリックします。
  3. プロジェクト設定ページをスクロールすると、スクリプトプロパティが表示されるので、「スクリプトプロパティを追加」をクリックします。
  4. 「プロパティ」にキーを、「値」にキーに紐ずく値を設定し、「スクリプト プロパティを保存」ボタンをクリックします。

ただし、この機能は2022年4月13日にリリースされ、一部のユーザーしか利用できない可能性があります2。順次使えるようになると予想されます2。また、ユーザープロパティについてはGUIからの設定方法の情報は見つかりませんでした。ユーザープロパティは他のユーザーにも見られたくない個人パスワードなどを入力するのに向いています4。具体的なコードは以下の通りです4

// ユーザープロパティを保存
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperty('USER', 'ユーザーテスト');

// ユーザープロパティを取得
var user = userProperties.getProperty('USER');
Logger.log(user);  // ユーザーテスト

このようにして、Google Apps Scriptのコードからユーザープロパティを設定し取得することが可能です4