Google Apps脚本-带附件的sendEmail作为Google云端硬盘链接,不是实际文件

时间:2018-12-13 21:17:22

标签: javascript google-apps-script mime-types

我正在尝试从Google Apps脚本发送电子邮件,该电子邮件将附加来自我的云端硬盘的两个文件,而不是将它们附加为实际文件,而是链接到Google云端硬盘中的文件。其中一个文件是Google文档,另一个是Drive文件夹中的MP4。这是我的意思的例子。如果我将MP4附加为文件,它将在Gmail中显示如下:

Screenshot of attached file

但是,我正在尝试将其作为链接附加到附件,这样收件人可以在Gmail中直接观看视频,如下所示:

Screenshot of linked video file (note the file listed above the attachment section as well)

这将用作Google表格的一部分,在该表格中我会在表格上列出一个人及其电子邮件地址。一旦运行,此脚本将向列表中的每个人发送一封电子邮件,每个附件都相同。这是我目前正在使用的代码:

attachments: [doc.getAs(MimeType.GOOGLE_DOCS), video]

现在,如果我这样保存,电子邮件会很好地发送,但是文档将被格式化为PDF,并且两个文件都将被附加为文件,而不是链接。我的搜索提示我调整附件行如下:

'.getAs(MimeType.GOOGLE_DOCS)'

但是,当我尝试测试该功能时,它给了我这个错误:“ Blob对象必须具有用于该操作的非空数据。”我尝试将'video/mp4'移到定义变量的行,但是没有用。我还检查了文档ID,它是正确的。

此外,我找不到一个(据说)适用于视频文件的MIME类型。我尝试了所有可用的选项,包括"<a href=''></a>",但似乎无济于事。作为记录,该视频文件的大小约为12 MB。

我可以简单地将指向云端硬盘文件的共享链接放在电子邮件的正文中,这可以完成我正在尝试做的事情,但是由于它是通过电子邮件发送的,因此将电子邮件标记为具有潜在危险的消息脚本并包括裸露的链接。如果我只是自己放置链接,或者使用{{1}}标签创建链接,就会发生这种情况。以前,我通过Apps脚本发送了很多电子邮件,但无论有没有附件,都没有问题。

我觉得我只是缺少一些简单的东西,但是我不知道如何将这两个文件作为驱动器链接附加。这可能吗?是否可以将共享链接以某种方式嵌入到电子邮件正文中,从而不会将电子邮件标记为潜在危险?

我希望这是有道理的;任何帮助将不胜感激!

0 个答案:

没有答案