Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google表单响应链接未在已连接的Google表单上填充_Google Apps Script_Google Forms - Fatal编程技术网

Google apps script Google表单响应链接未在已连接的Google表单上填充

Google apps script Google表单响应链接未在已连接的Google表单上填充,google-apps-script,google-forms,Google Apps Script,Google Forms,我有一个谷歌表单和谷歌表单连接。代码似乎也正确,但在运行脚本时出错- “找不到方法getResponses(字符串)” 下面是我为脚本准备的代码 var formURL = '1Ve6ihda_zQycSxaFbe2YkbegrxGbcTnNqacd_W7HQbh'; var sheetName = 'Form Responses 1'; var columnName = 'Edit Url' ; var startRow = 3; function getEditResponseUrls()

我有一个谷歌表单和谷歌表单连接。代码似乎也正确,但在运行脚本时出错-

“找不到方法getResponses(字符串)”

下面是我为脚本准备的代码

var formURL = '1Ve6ihda_zQycSxaFbe2YkbegrxGbcTnNqacd_W7HQbh';
var sheetName = 'Form Responses 1';
var columnName = 'Edit Url' ;
var startRow = 3;

function getEditResponseUrls(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
  var columnIndex = headers[0].indexOf(columnName);
  var data = sheet.getDataRange().getValues();
  var form = FormApp.openById(formURL);
  for(var i = startRow-1; i < data.length; i++) {
    if(data[i][0] != '' && data[i][columnIndex] == '') {
      var timestamp = data[i][0];
      var formSubmitted = form.getResponses(timestamp);
      if(formSubmitted.length < 1) continue;
      var editResponseUrl = formSubmitted[0].getEditResponseUrl();
      sheet.getRange(i+1, columnIndex+1).setValue(editResponseUrl);
    }
  }
}
问题: 错误消息表明
时间戳的值是字符串类型

解决方案: 对于
getResponses(timestamp)
的方法,请使用date对象。那么,按如下方式修改如何

发件人: 致: 注:
  • 我认为
    getValues()
    检索到的date值就是date对象。因此,可能需要知道
    var timestamp=data[i][0]
    的值
参考:
如果这不是你问题的解决方案,我道歉。那时,我可以问一下
时间戳
和/或样本电子表格的值吗

var formSubmitted = form.getResponses(timestamp);
var formSubmitted = form.getResponses(timestamp);
var formSubmitted = form.getResponses(new Date(timestamp));