目前,我正在使用 gscript 處理谷歌作業表,并且我正在嘗試根據作業表 A 列中的值將資料輸入到單元格中。資料是通過獲取 URI 來提取的,我試圖將 URI 與位于 Google 表格 A 列中的 ID 連接起來。
var res = UrlFetchApp.fetch("MYAPI JOBID TOKEN");
var content = res.getContentText();
var json = JSON.parse(content);
Logger.log(content)
// Users Name //
var dispatches = json["dispatches"]["items"];
var lastItem = dispatches.pop();
var dName = lastItem.vehicle.driver.contact.name
Logger.log(dName);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,3).setValue([dName]);
// Pickup and Drop Off Information //
var task1timeframeBy = json["tasks"]["items"][0]["timeframe"]["by"]
var task3timeframeBy = json["tasks"]["items"][2]["timeframe"]["by"]
var task1Date = new Date(task1timeframeBy).toDateString()
var task3Date = new Date(task3timeframeBy).toDateString()
var task1Time = new Date(task1timeframeBy).toTimeString()
var task3Time = new Date(task3timeframeBy).toTimeString()
Logger.log(task1Date)
Logger.log(task3Date)
Logger.log(task1Time)
Logger.log(task3Time)
// Address Information //
var task1Address = json["tasks"]["items"][0]["zone"]["address"]
var task1Longitude = json["tasks"]["items"][0]["zone"]["coords"]["lon"]
var task1Latitude = json["tasks"]["items"][0]["zone"]["coords"]["lat"]
var task3Address = json["tasks"]["items"][2]["zone"]["address"]
var task3Latitude = json["tasks"]["items"][2]["zone"]["coords"]["lat"]
var task3Longitude = json["tasks"]["items"][2]["zone"]["coords"]["lon"]
Logger.log(task1Address)
Logger.log(task1Longitude)
Logger.log(task1Latitude)
Logger.log(task3Address)
Logger.log(task3Longitude)
Logger.log(task3Latitude)
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,4).setValue([task1Latitude]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,5).setValue([task1Longitude]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,6).setValue([task3Latitude]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,7).setValue([task3Longitude]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,8).setValue([task1Time]);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(2,9).setValue([task3Time]);
} }
位于 A 列中的值應該與 URI 連接以提取不同的值并回圈輸入單元格。
我想不通的是如何將 URI 與變數連接起來,或者回圈遍歷單元格以輸入請求的資料。任何人都可以幫忙嗎?
uj5u.com熱心網友回復:
當然有更好的方法,但是由于您的問題的核心似乎是關于遍歷 A 列資料并構建 URL,所以這里有一個(值得深思)......如果沒有關于您的背景關系的更多資訊,這有點困難,但這會是我會采取的方法:
const data = SpreadsheetApp.getSheetByName('SheetName').getRange("A2:A").getValues();
let JOBID = '';
let APIdata = [];
for (let a = 0; a < data.length; a ) {
JOBID = data[a]
URL = "MYAPI" JOBID "TOKEN"
//Do the API call, but you'd have to check for their quota and set an interval maybe to meet their demand.
//Store the data into an array, so you can place the data into the defined range later
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434973.html
