我正在尝试学习谷歌应用程序脚本,因此我开始使用" Hello,World"。最后,我借用了一个工作代码来返回保存在speadsheet中的数据的JSON。以下是代码 -
function doGet(e) {
var json = convertSheet2JsonText();
return ContentService.createTextOutput(JSON.stringify(json))
.setMimeType(ContentService.MimeType.JSON);
}
function convertSheet2JsonText() {
var sheet =
SpreadsheetApp.openById("1kQVRu_9HLAZZWReGxGQL3513ShiwUQ6Ux-
GkjO19nWQ").getActiveSheet();
var colStartIndex = 1;
var rowNum = 1;
var firstRange = sheet.getRange(1, 1, 1, sheet.getLastColumn());
var firstRowValues = firstRange.getValues();
var titleColumns = firstRowValues[0];
// after the second line(data)
var lastRow = sheet.getLastRow();
var rowValues = [];
for(var rowIndex=2; rowIndex<=lastRow; rowIndex++) {
var colStartIndex = 1;
var rowNum = 1;
var range = sheet.getRange(rowIndex, colStartIndex, rowNum,
sheet.getLastColumn());
var values = range.getValues();
rowValues.push(values[0]);
}
// create json
var jsonArray = [];
for(var i=0; i<rowValues.length; i++) {
var line = rowValues[i];
var json = new Object();
for(var j=0; j<titleColumns.length; j++) {
json[titleColumns[j]] = line[j];
}
jsonArray.push(json);
}
return jsonArray ;
}
我已按照步骤将其部署为网络应用。 1.当我使用&#34;最新代码&#34;链接来测试代码,我得到了预期的JSON。 2.但是,我使用的链接指向&#34;当前的Web应用程序URL&#34;,我得到了文本&#34; Hello World&#34;。
我创建了一个新的电子表格,并在脚本编辑器中复制了相同的代码,并将其部署为Web应用程序。现在,如果我使用链接&#34;当前Web应用程序URL&#34;,我就会得到JSON。
请让我知道,在第一种情况下,如何让prod链接发送JSON而不是字符串&#34; Hello World&#34;。
如有任何问题,请与我联系。
答案 0 :(得分:0)
我更改了版本,但它确实有效。