JavaScript:将Google表单单元格值作为变量传递到POST URL
所以我有一段代码,它应该从google工作表中获取一个项目id并将其附加到URL中。我已经添加了加号(+),但仍然无法从google工作表中选择项目id。没有此参数将无法过帐。它没有抛出任何错误,但仍然无法发布到项目的系统。下面是代码:我做得不对的是什么JavaScript:将Google表单单元格值作为变量传递到POST URL,javascript,arrays,json,post,google-sheets-api,Javascript,Arrays,Json,Post,Google Sheets Api,所以我有一段代码,它应该从google工作表中获取一个项目id并将其附加到URL中。我已经添加了加号(+),但仍然无法从google工作表中选择项目id。没有此参数将无法过帐。它没有抛出任何错误,但仍然无法发布到项目的系统。下面是代码:我做得不对的是什么 function sendBudget(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); // used g
function sendBudget(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// used getLastRow() function [1] to narrow the array to have only cells with data.
var range = sheet.getRange("AO2:AO"+sheet.getLastRow()).getValues();
var searchString = "3";
for (var i = 0; i<range.length; i++) {
if(range[i][0] == searchString) {
var lastRow = sheet.getRange(2+i,1,1,41).getValues();
var project_id = lastRow[0][40];
var data = {
'amount':lastRow[0][7]*10,
};
var payload = JSON.stringify(data);
var options = {
'method': 'POST',
'Content-Type': 'application/json',
'payload' : data,
};
var url = 'https://vnext.10000ft.com/api/v1/projects/'+ project_id +'/budget_items?item_type=TimeFeesDays&auth=token';
var response = UrlFetchApp.fetch(url , options);
if (response.getResponseCode() === 200) {
var json = JSON.parse(response);
var id = json["id"];
sheet.getRange(2+i, 41).setValue(4);
}
else {
sheet.getRange(2+i, 41).setValue(5);
}
}
}}
函数sendbudent(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
//使用getLastRow()函数[1]缩小数组范围,使其仅包含包含数据的单元格。
var range=sheet.getRange(“AO2:AO”+sheet.getLastRow()).getValues();
var searchString=“3”;
对于(var i=0;i我意识到项目id选择了错误的单元格,因此所做的所有更改都是变量中的行号:
var project_id = lastRow[0][40];
Hello@levi您的代码似乎没有任何编程错误。我可以请您分享您正在使用的工作表吗?至少,您可以描述一下您的工作表的哪一列是项目ID以及它们是如何排列的吗?此外,您可以试着使用Logger.log(url)
在创建您的url
之后,为了打印它并可能找到发生的情况。CheersHi@carlesgg97,显然我在定义变量项目id时使用了错误的行号,但没有注意到这一点。在您告诉我有关该表的情况后,我回去手动计数,并意识到它应该是var project_id=lastRow[0][39];。感谢您的帮助。