別のGASの質問。ScriptPropertiesと一括設定プロパティに関するドキュメント、および (再び)ベスト プラクティスに関するドキュメントを読みました。しかし、私は Javascript に精通しておらず、GAS にもまだ慣れていないため、結果として API 呼び出しのレート制限を超え続けています。
基本的に、スプレッドシートからこれらすべてのプロパティを「取得」し、それらを配列またはオブジェクトなどに配置してから、それらすべてを一括設定したいと考えています。キーと値は正しいですが、JS オブジェクトまたは配列、またはメソッドによって受け入れられるデータ型にそれらを一時的に保存する方法がわかりませんsetProperties(Object)
。
これが現在のコードです(恐ろしいSleep
タイマーだけが機能しています...):
function setSubsequentProperties(propertyRange, sheet) {
// Get the other Library Properties based on the new Range values.
// propertyRange is the 2-column 1-row Range for the key/value pairs
var tableRange = ScriptProperties.getProperty(propertyRange);
var dataRange = sheet.getRange(tableRange);
var data = dataRange.getValues();
// Create a 'properties' Object for bulk-setting to prevent overusing API calls
//var properties = new Array(data.length);
// Set a new Script Property for each row
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var propertyKey = row[0];
var propertyValue = row[1];
// var myObject = allMyPropertiesInOneObject
ScriptProperties.setProperty(propertyKey, propertyValue);
Utilities.sleep(1000);
}
// setProperties(myObject);
}
オブジェクトにpropertyKey
andを追加して、それらを一度に一括設定するにはどうすればよいですか? propertyValue
疑似アイデアは、コード ブロックでコメント アウトされています。