上下文:我在 Linkedin 上为我的公司发布了一个职位,linkedin 向我发送了一封针对每位申请人的电子邮件。在电子邮件中,有一个“下载简历”按钮,其中包含下载简历的链接。电子邮件本身不是附件。
步骤是:
目前,我已经按照附件编写了脚本,但它似乎不起作用:
function downloadAndMoveResumeToDrive() {
var searchQuery = 'is:unread from:"[email protected]" subject:"New application: Web Development Intern"';
var threads = GmailApp.search(searchQuery);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
var body = messages[j].getBody();
var match = body.match(/href="(https:\/\/www\.linkedin\.com\/e\/v2\?[^"]+)"[^>]*?>\s*Download resume\s*<\/a>/i);
if (match && match[1]) {
var downloadLink = match[1];
var fetchedContent = UrlFetchApp.fetch(downloadLink);
var headers = fetchedContent.getHeaders();
if (headers['Content-Disposition'] && headers['Content-Disposition'].indexOf('attachment') !== -1) {
var blob = fetchedContent.getBlob().setName("Resume_" + new Date().toISOString() + ".pdf");
var folderId = "ID OF FOLDER";
var folder = DriveApp.getFolderById(folderId);
folder.createFile(blob);
} else {
// The content fetched is not an attachment, handle accordingly
}
}
messages[j].markRead();
}
}
}
该脚本不包含可帮助您调试脚本的日志消息语句,因此我建议您从该语句开始。 IE。之后
var threads = GmailApp.search(searchQuery);
添加
console.info(`threads: ${threads.length}`);
上述内容将帮助您了解此处返回了多少线程,并验证您的搜索查询是否按预期工作。有关详细信息,请参阅故障排除。
以上是一个选项。另一种方法是使用调试按钮从脚本编辑器运行脚本。在单击它之前,您可能需要设置一个断点,这样您就有时间查看调试面板以查看分配给每个变量的对象/值。