【发布时间】:2021-05-06 23:17:11
【问题描述】:
我正在使用 Amit Agarwal 的精彩 script to extract attachments from Google Mail 并将它们保存到 Google Drive。它将附件保存在其名称下,并将邮件的主题行保存在文件的“描述”中(连同消息 ID)。 相反,我想将文件命名为带有附件的电子邮件主题行中的任何内容。
示例:附件名为 abc.pdf,主题为“Invoice-February.pdf”。事实上,该脚本将在 Google Drive 中创建一个名为 abc.pdf 的文件。相反,我希望将文件命名为“Invoice-February.pdf”。
这是原始代码:
for (var x=0; x<threads.length; x++) {
var message = threads[x].getMessages()[0];
var desc = message.getSubject() + " #" + message.getId();
var att = message.getAttachments();
for (var z=0; z<att.length; z++) {
try {
if (check) {
var name = att[z].getName();
if (name.indexOf(".") != -1) {
var extn = name.substr(name.lastIndexOf(".")+1).toLowerCase();
if (valid.indexOf(extn) != -1) {
file = folder.createFile(att[z]);
file.setDescription(desc);
} else {
Logger.log("Skipping " + name);
}
}
} else {
file = folder.createFile(att[z]);
file.setDescription(desc);
}
}
createFile 函数无法为博客添加不同的名称,而且我还没有找到“renameFile”。有谁知道这是怎么做到的吗?
【问题讨论】:
-
@teatimer:也许我读错了文档,但这似乎只有在“内容”是字符串而不是 blob 时才有效。
-
file.setName 为我工作:developers.google.com/apps-script/reference/drive/… file.setName(name)