我有一個代碼,根據 A 列中的 ID,回傳買賣結果。此行為僅適用于單元格 A2,我希望我的代碼從其他單元格(A3、A4、A5、...)獲取資訊并帶來資訊,就像它對 A2 所做的那樣。
非常感謝您!
這是我的代碼:
function myFunction() {
var f = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('TRIVIA');
var data = new Date();
data = Utilities.formatDate(data, "GMT-03:00", "yyyy/MM/dd")
f.getRange('F1').activate();
f.getCurrentCell().setValue(data);
var formData = {
'id': f.getRange('A2').getValue(), //A2 é a o ID
'date': f.getRange('F1').getValue(), //F1 é a a data
'server': f.getRange('G1').getValue(), //G1 é o servidor
};
var options = {
'method': 'post',
'payload': formData
};
var result = UrlFetchApp.fetch('https://triviapw.com.br/cotacao/api/item/', options);
var response = JSON.parse(result.getContentText());
var res_code = result.getResponseCode();
if (res_code == 200) {
f.getRange('B2').setValue(response.nome); // nome do item
f.getRange('C2').setValue(response.venda); //menor pre?o de venda
f.getRange('D2').setValue(response.compra); //maior pre?o de compra
}
}
uj5u.com熱心網友回復:
在您的腳本中,如何進行以下修改?
修改后的腳本:
function myFunction() {
var f = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('TRIVIA');
var data = new Date();
data = Utilities.formatDate(data, "GMT-03:00", "yyyy/MM/dd");
f.getRange('F1').setValue(data);
var url = 'https://triviapw.com.br/cotacao/api/item/';
var [h, ...v] = f.getDataRange().getValues();
var reqs = v.map(([a]) => ({
url,
method: "post",
payload: {id: a, date: data, server: h[6]},
muteHttpExceptions: true
}));
var res = UrlFetchApp.fetchAll(reqs);
var values = res.map(r => {
var str = r.getContentText();
if (r.getResponseCode() == 200 && str != "Requisi??o inválida") {
var obj = JSON.parse(str);
return [obj.nome, obj.venda, obj.compra];
}
return Array(3).fill("");
});
f.getRange(2, 2, values.length, values[0].length).setValues(values);
}
- 在此修改中,首先,根據電子表格中的值創建請求物件。并且,使用 fetchAll 方法請求物件。并且,回應值被放入電子表格。
參考:
- fetchAll(請求)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431122.html
