创建一个google脚本来自动提交google表格,使用来自google表的值。

问题描述 投票:0回答:1

我正试图创建一个google脚本,帮助我自动创建google表单响应,使用来自google表的值。

这是我使用的脚本。

function auto_data() {

  var formURL="https://docs.google.com/forms/d/e/1FAIpQLSfmepj661gmkUgleFCLPrqeB0z9mPyI8DLZ4kTBI0Y3eByOCQ/viewform";

  var wrkBk = SpreadsheetApp.getActiveSpreadsheet();
  var wrkSht = wrkBk.getSheetByName("Data");

  var numb = wrkSht.getRange("G11").getValue();
  var time = wrkSht.getRange("H11").getValue();
  var eaten = wrkSht.getRange("I11").getValue();
  var randnumb = wrkSht.getRange("J11").getValue();

  var datamap={
    "entry.1108902288" :numb,
    "entry.1493000579" :randnumb,
    "entry.1582850009" :time,
    "entry.908606572" :eaten
    };

  var options = {
    "method": "post",
    "payload": datamap
  };

  UrlFetchApp.fetch(formURL, options);

}

不幸的是,我得到了这个错误。

Exception: Request failed for https://docs.google.com returned code 405. Truncated server response: <!DOCTYPE html><html lang="en"><head><meta name="description" content="Web word processing, presentations and spreadsheets"><meta name="viewport" c... (use muteHttpExceptions option to examine full response). (line 25, file "Code")

谁能帮帮我?谢谢!我正试图创建一个google脚本。

javascript google-sheets google-form data-entry
1个回答
0
投票
  • 405意味着请求不被允许

  • 你不能直接向谷歌表格发出请求。

  • 您可以做的是以程序化的方式创建一个预填充的表单Url--您所要做的就是在浏览器中打开这个链接,然后点击 Submit.

  • 为此,将答案传递到相应的条目中,作为 e.parameters.

样品。

function auto_data() {

  var formURL="https://docs.google.com/forms/d/e/1FAIpQLSfmepj661gmkUgleFCLPrqeB0z9mPyI8DLZ4kTBI0Y3eByOCQ/viewform";

  var wrkBk = SpreadsheetApp.getActiveSpreadsheet();
  var wrkSht = wrkBk.getSheetByName("Data");
  var numb = wrkSht.getRange("G11").getValue();
  var time = wrkSht.getRange("H11").getValue();
  var eaten = wrkSht.getRange("I11").getValue();
  var randnumb = wrkSht.getRange("J11").getValue();  

  var datamap=[
    "entry.1108902288=" + numb,
    "entry.1493000579=" + randnumb,
    "entry.1582850009=" + time,
    "entry.908606572=" + eaten
    ];
 var prefillUrl = formURL+"?"+ datamap[0] + "&" + datamap[1] + "&" + datamap[2] + "&" + datamap[3];
  Logger.log(prefillUrl);
}
© www.soinside.com 2019 - 2024. All rights reserved.