谷歌应用程序脚本 - 网络应用程序URL响应是"你好,世界"而不是JSON

时间:2015-07-24 18:58:52

标签: google-apps-script

我正在尝试学习谷歌应用程序脚本,因此我开始使用" 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;。

如有任何问题,请与我联系。

1 个答案:

答案 0 :(得分:0)

我更改了版本,但它确实有效。