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操作で設定することが可能です12。具体的な手順は以下の通りです3:
ただし、この機能は2022年4月13日にリリースされ、一部のユーザーしか利用できない可能性があります2。順次使えるようになると予想されます2。また、ユーザープロパティについてはGUIからの設定方法の情報は見つかりませんでした。ユーザープロパティは他のユーザーにも見られたくない個人パスワードなどを入力するのに向いています4。具体的なコードは以下の通りです4。
// ユーザープロパティを保存
var userProperties = PropertiesService.getUserProperties();
userProperties.setProperty('USER', 'ユーザーテスト');
// ユーザープロパティを取得
var user = userProperties.getProperty('USER');
Logger.log(user); // ユーザーテスト