4

我有一个附加到 Google Apps 电子表格的表单。这是让我的同事向我们的每周审查会议提交议程项目的表格。我正在编写一个脚本来自动向相关人员发送电子邮件提醒。

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

  • 类似 sendFormInEmail 的方法
  • 访问电子邮件友好的表单 HTML,我可以将其分配给sendEmail 方法的 htmlBody 参数。
  • 在 Google Apps 中触发任意菜单项
  • 还有什么?

我可以通过从电子邮件中提取生成的 HTML 并将其分配为 htmlBody 参数来解决问题,但是每次我们想要更改表单时,我都必须手动更新 html——而不是我想要的发生。

有什么建议么?

4

2 回答 2

8

乔里斯,你是对的。您可以使用 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,
  });
...
于 2014-05-15T07:12:10.100 回答
4

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

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

就像我说的,我不知道这是否可行(尽管在纸上它应该!),但我很想知道它是否可行!

于 2011-10-01T20:17:14.610 回答