我有以下腳本,它從我的作業表中獲取資料并通過 POST API 呼叫更新記錄;但是一次有 100 個呼叫的限制,所以如果可能的話,我正在尋找一種方法將其添加到我的腳本中。我還需要確保發送標題行 (row1)。所以基本上第一個回圈是第 1-101 行,第二個回圈是第 1 行和第 102-201 行等。甚至不確定這是可能的
function updateManyUsers() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var [headers, ...rows] = sheet.getDataRange().getDisplayValues();
Logger.log([headers,rows]);
var users = rows.map(r => {
var temp = {};
headers.forEach((h, j) => {
if (r[j] != "") temp[h] = r[j];
});
return temp;
});
var url = 'https://redaccted.zendesk.com/api/v2/users/update_many.json';
var user = 'morris.coyle@redacted_still/token';
var pwd = 'Every_redacted';
var options = {
'method': 'PUT',
'headers': {
'Authorization': "Basic " Utilities.base64Encode(user ':' pwd)
},
'payload': JSON.stringify({ users }),
'contentType': 'application/json',
'muteHttpExceptions': true
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
提前致謝。
莫茲
uj5u.com熱心網友回復:
描述
我創建了一個如何從資料中分割 100 行的簡單示例。
我有一個簡單的 Header 資料集,包含 256 行資料。見螢屏截圖。
螢屏截圖


腳本
function updateManyUsers() {
try {
let spread = SpreadsheetApp.getActiveSpreadsheet();
let sheet = spread.getSheetByName("Sheet1");
let values = sheet.getDataRange().getValues();
console.log("rows = " values.length);
let headers = values.shift();
let i = 0;
let numUsers = 100;
let j = numUsers;
while( i < values.length ) {
if( j < values.length ) {
var users = [].concat(headers,values.slice(i,j));
}
else {
var users = [].concat(headers,values.slice(i));
}
console.log("header = " users[0][0]);
console.log("users[1] = " users[1][0]);
console.log("users[99] = " users[users.length-1][0]);
i = i numUsers;
j = j numUsers;
// Now build your opsions
}
}
catch(err) {
console.log(err);
}
}
1:18:04 PM Notice Execution started
1:18:05 PM Info rows = 257
1:18:05 PM Info header = Header
1:18:05 PM Info users[1] = 1
1:18:05 PM Info users[99] = 100
1:18:05 PM Info header = Header
1:18:05 PM Info users[1] = 101
1:18:05 PM Info users[99] = 200
1:18:05 PM Info header = Header
1:18:05 PM Info users[1] = 201
1:18:05 PM Info users[99] = 256
1:18:05 PM Notice Execution completed
參考
……

每次迭代的可變
users內容:


此外,在檢查檔案后,當使用Update Many Users 批量更新時,資料格式應如下所示:
{ "users": [ { "id": 10071, "name": "New Name", "organization_id": 1 }, { "id": 12307, "verified": true } ] }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/455072.html
