Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 使用UrlFetchApp获取表单后面web信息的GDocs脚本_Google Apps Script - Fatal编程技术网

Google apps script 使用UrlFetchApp获取表单后面web信息的GDocs脚本

Google apps script 使用UrlFetchApp获取表单后面web信息的GDocs脚本,google-apps-script,Google Apps Script,我想使用GDocs获取一些web数据,但是数据在表单后面,所以我需要将一些数据发布到表单以获得结果。(因此我不能使用ImportXML等) 我尝试使用的函数是,但我真的不知道从哪里开始,因为我没有太多的java脚本经验。 是否有人拥有一个脚本,该脚本包含可以在GDocs中使用的url、表单名称和要发布的数据 这里有这样一个脚本的示例: 这是一个不同的应用程序,但方法适用。下面是一个框架函数,让您开始学习 payload对象应该包含要模拟的表单数据的名称/值对。应更改url,以匹配您提交表单的网站

我想使用GDocs获取一些web数据,但是数据在表单后面,所以我需要将一些数据发布到表单以获得结果。(因此我不能使用ImportXML等) 我尝试使用的函数是,但我真的不知道从哪里开始,因为我没有太多的java脚本经验。
是否有人拥有一个脚本,该脚本包含可以在GDocs中使用的url、表单名称和要发布的数据

这里有这样一个脚本的示例:

这是一个不同的应用程序,但方法适用。下面是一个框架函数,让您开始学习

payload
对象应该包含要模拟的表单数据的名称/值对。应更改
url
,以匹配您提交表单的网站。通过调用
UrlFetchApp.fetch()
发出
POST
请求后,您应该能够使用来自的
getElementByVal()
实用程序解析响应

function postForm() {
  // Generate a POST request with form data.
  var payload =
  {
    "name" : 'Anonymous Person',   // Replace with relevant name / value pairs
    "town" : "Springfield"
  };

  // Because payload is a JavaScript object, it will be interpreted as
  // an HTML form. (We do not need to specify contentType; it will
  // automatically default to either 'application/x-www-form-urlencoded'
  // or 'multipart/form-data')

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

  var url = "http://form.somewhere.com";   // Replace as appropriate
  var response = UrlFetchApp.fetch(url, options);

  // Put the receieved xml response into XMLdocument format
  var xml = response.getContentText();
  var doc = XmlService.parse(xml);

  // Extract the details you want...
  var someData = getElementByVal( doc, 'textarea', 'name', 'text' );

  ...
}