Google 脚本 - 将 Gmail 附件添加到云端硬盘中的文档和进程
Google Script - add Gmail Attachment to document and Process in Drive
所以基本上,我父亲让我创建一个脚本来查找带有 "Drive" 标签的电子邮件并将其内容保存到他的驱动器中。
(如果你问为什么,他可以通过电子邮件给自己发送几个 PDF,然后让脚本自动将它们放在他的驱动器中)
除了一件事,我已经完成了所有事情:不知道如何保存附件。
在 processDocument
方法中,我遍历附件并尝试执行以下操作:
doc.appendParagraph(the attachment)
使用processDocument()
方法添加附件有什么正确的方法吗?
代码链接:
http://pastebin.com/RwFNs232
谢谢。
您可以使用 DriveApp 将附件 blob 保存在单独的文件中:
var fileBlob = "your blob" // GmailAttachment.copyBlob() method;
var file = DriveApp.createFile(blob);
然后在你的文档中将link写到附件
doc.appendParagraph(file.getUrl());
注:
您可能希望在文档中写入附件内容。在这种情况下,您可以直接写入文档,而无需在您的云端硬盘中创建文件。但这很危险,因为您无法将某些 blob 的内容作为格式正确的字符串获取。
doc.appendParagraph("attachment content"); //GmailAttachment.getDataAsString()
我想它会解决你的问题。
正如@nanndoj 所说,您应该使用blob
文件结构来输入文件。有关 blob 的其他信息应作为单独的问题提出。
但是,附件不应仅附加到电子邮件的 doc
。相反,您应该在 sendEmail
函数的调用中包含 blob 引用,如 Google's documentation here.
中所示
示例:
sendEmail(recipient, subject, body, options)
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});
所以基本上,我父亲让我创建一个脚本来查找带有 "Drive" 标签的电子邮件并将其内容保存到他的驱动器中。 (如果你问为什么,他可以通过电子邮件给自己发送几个 PDF,然后让脚本自动将它们放在他的驱动器中)
除了一件事,我已经完成了所有事情:不知道如何保存附件。
在 processDocument
方法中,我遍历附件并尝试执行以下操作:
doc.appendParagraph(the attachment)
使用processDocument()
方法添加附件有什么正确的方法吗?
代码链接: http://pastebin.com/RwFNs232
谢谢。
您可以使用 DriveApp 将附件 blob 保存在单独的文件中:
var fileBlob = "your blob" // GmailAttachment.copyBlob() method;
var file = DriveApp.createFile(blob);
然后在你的文档中将link写到附件
doc.appendParagraph(file.getUrl());
注:
您可能希望在文档中写入附件内容。在这种情况下,您可以直接写入文档,而无需在您的云端硬盘中创建文件。但这很危险,因为您无法将某些 blob 的内容作为格式正确的字符串获取。
doc.appendParagraph("attachment content"); //GmailAttachment.getDataAsString()
我想它会解决你的问题。
正如@nanndoj 所说,您应该使用blob
文件结构来输入文件。有关 blob 的其他信息应作为单独的问题提出。
但是,附件不应仅附加到电子邮件的 doc
。相反,您应该在 sendEmail
函数的调用中包含 blob 引用,如 Google's documentation here.
示例:
sendEmail(recipient, subject, body, options)
MailApp.sendEmail('mike@example.com', 'Attachment example', 'Two files are attached.', {
name: 'Automatic Emailer Script',
attachments: [file.getAs(MimeType.PDF), blob]
});