1

我写了一个小的谷歌脚本,它发送一封包含所需内容的电子邮件,如下所示:

function doGet(params) {
  var htmlBody = HtmlService.createHtmlOutputFromFile('tmp').getContent();

 var subject = "Задача#"+params.parameter.p1;
  MailApp.sendEmail({
    to: params.parameter.p2,
    subject: subject,
    htmlBody: htmlBody,
  });
}

然后我发布了它并获得了访问 Web 应用程序的链接。我有另一个使用按钮发送电子邮件的脚本 - One Click Action,它看起来如下:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "action": {
    "@type": "ConfirmAction",
    "name": "Принять",
    "handler": {
      "@type": "HttpActionHandler",
      "url": "http://script.google.com/macros/s/.../exec?p1=param1&p2=example@gmail.com"
    }
  }
}
</script>

但是当我单击该按钮时,我会收到一条消息,表明请求尚未发送。我可以将此链接用作 One Click Action 的处理程序吗?

4

1 回答 1

0

确保脚本已发布并可被任何拥有该链接(或公开)的人访问,因为 Gmail 会向该 URL 发送服务器到服务器的请求。

为确保脚本可访问,您可以使用cURL发送测试请求。如果返回没有错误,那么 Gmail 将能够访问同一个端点。

我试过你的代码,当权限设置正确时它工作正常。

于 2014-03-04T00:39:23.190 回答