Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Html 如何访问或呼叫;将此表单发送给其他人(&Quote;);?_Html_Email_Google Apps Script_Google Sheets_Google Forms - Fatal编程技术网

Html 如何访问或呼叫;将此表单发送给其他人(&Quote;);?

Html 如何访问或呼叫;将此表单发送给其他人(&Quote;);?,html,email,google-apps-script,google-sheets,google-forms,Html,Email,Google Apps Script,Google Sheets,Google Forms,我有一张附在谷歌应用电子表格上的表格。这是一种让我的同事向我们的每周回顾会议提交议程项目的形式。我正在写一个脚本,自动通过电子邮件向相关人员发送提醒 为了让他们不那么烦人和乏味,我想在电子邮件中嵌入表单。Google Docs提供了一种手动发送表单的方法:电子表格>表单>发送表单。然而,我在谷歌应用程序脚本文档中找不到任何方法可以触发此功能,例如 像sendFormInEmail这样的方法 访问电子邮件友好的表单HTML,我可以将其分配给的htmlBody参数 在谷歌应用程序中触发任意菜单项

我有一张附在谷歌应用电子表格上的表格。这是一种让我的同事向我们的每周回顾会议提交议程项目的形式。我正在写一个脚本,自动通过电子邮件向相关人员发送提醒

为了让他们不那么烦人和乏味,我想在电子邮件中嵌入表单。Google Docs提供了一种手动发送表单的方法:电子表格>表单>发送表单。然而,我在谷歌应用程序脚本文档中找不到任何方法可以触发此功能,例如

  • 像sendFormInEmail这样的方法
  • 访问电子邮件友好的表单HTML,我可以将其分配给的htmlBody参数
  • 在谷歌应用程序中触发任意菜单项
  • 还有别的吗
我可以通过从电子邮件中提取生成的HTML并将其指定为htmlBody参数来解决问题,但是每次我们想要更改表单时,我都必须手动更新HTML,这不是我想要的


有什么建议吗?

我和您有完全相同的要求,但不幸的是,似乎没有API调用可以做到这一点

我认为可能有效的方法(尽管我还没有真正尝试过)是使用Spreadsheet.getFormUrl方法获取表单URL,然后使用UrlFetchAp.fetch获取电子表格表单的HTML,然后使用该HTML作为电子邮件正文


正如我所说,我不知道这是否会奏效(虽然在纸面上应该如此!),但我很想知道它是否奏效

乔里斯,你说得对。您可以使用fetch()方法将表单的html发送到用户邮箱:

var form = FormApp.create('New Form');
....
var url = form.getPublishedUrl();
var response = UrlFetchApp.fetch(url);
var htmlBody = HtmlService.createHtmlOutput(response).getContent();
    MailApp.sendEmail({
    to: email,
    subject: subject,
    htmlBody: htmlBody,
  });
...

如果表单是组织的私有表单,则此操作不起作用,因为UrlFetchApp无权查看该表单。我还没有解决那个案子的办法。