我非常接近完成我的 Google Apps 脚本项目,该项目正在解析一个简单的 2 行电子邮件并将附件链接(保存到 Google 云端硬盘的附件)添加到 Google 表格。我一直坚持将电子邮件附件保存到 Google 云端硬盘。被注释掉的代码是不能正常工作的块。我举了一个例子:在 Google Drive 上保存 Gmail 附件——但它似乎对我不起作用。附上我的完整代码。function parseEmailMessages() { var threads = GmailApp.search('label:test',0,100); var sheet = SpreadsheetApp.openById('<<SHEET ID>>'); var folder = DriveApp.getFolderById('<<FOLDER ID>>'); var testLabel = GmailApp.getUserLabelByName('test'); var doneLabel = GmailApp.getUserLabelByName('finished'); for (var i = 0; i < threads.length; i++) { var message = threads[i].getMessages(); for (var j in message) { var content = message[j].getPlainBody(); /* var attachments = threads[j].getAttachments(); for (var k in attachments) { var attachment = attachments[k]; var isDefinedType = checkIfDefinedType_(attachment); if (!isDefinedType) continue; var attachmentBlob = attachment.copyBlob(); var file = DriveApp.createFile(attachmentBlob); } */ } var [name, date] = content.split("\n"); function latestFile() { var gDriveFolder = DriveApp.getFolderById('<<FOLDER ID>>'); var gDriveFile = gDriveFolder.getFiles(); var lastFileId = gDriveFile.next().getId(); return lastFileId.toString(); } var urlStart = 'https://drive.google.com/a/<<DOMAIN>>/file/d/'; var urlString = latestFile(); var urlEnd = '/view?usp=drivesdk'; var pic = urlStart + urlString + urlEnd; sheet.appendRow([name,date,pic]); threads[i].removeLabel(testLabel); threads[i].addLabel(doneLabel); }}我收到的错误是:“TypeError:在对象 GmailThread 中找不到函数 getAttachments。”确实,文档中的 getAttachments 似乎不是 GmailThread 的一部分,但我目前不确定如何实现我的目标。
添加回答
举报
0/150
提交
取消
