上下文
-
我正在使用一个脚本来获取我在这里找到的电子邮件(我想是从Niclas(:获取电子邮件脚本
-
我已经根据自己的需要进行了调整,效果非常好!
我测试的
- 我从谷歌脚本类附件中看到了getDescription((,但无法使其工作,我甚至不确定这是否是正确的方法
我想要什么
- 此外,我想获取附件文件名,因为它是每个电子邮件上的一个独特标记
- 任何帮助我都将不胜感激。提前感谢
修改:
对你在问题中提到的帖子的答案做以下修改:
-
添加这些行:
var attachments = messages[maxIndex].getAttachments(); var attNames = attachments.map(att=>att.getName());
-
并修改这个:
ss.appendRow([from, cc, time, sub,...attNames ,'https://mail.google.com/mail/u/0/#inbox/'+mId])
解决方案:
function myFunction() {
// Use sheet
var ss = SpreadsheetApp.getActiveSheet();
// Gmail query
var query = "label:support -label:trash -label:support-done -from:me";
// Search in Gmail, bind to array
var threads = GmailApp.search(query);
// Loop through query results
for (var i = 0; i < threads.length; i++)
{
// Get messages in thread, add to array
var messages = threads[i].getMessages();
// Used to find max index in array
var max = messages[0];
var maxIndex = 0;
// Loop through array to find maxIndexD = most recent mail
for (var j = 0; j < messages.length; j++) {
if (messages[j] > max) {
maxIndex = j;
max = messages[j];
}
}
// Find data
var mId = messages[maxIndex].getId() // ID used to create mail link
var from = messages[maxIndex].getFrom();
var cc = messages[maxIndex].getCc();
var time = threads[i].getLastMessageDate()
var sub = messages[maxIndex].getSubject();
var attachments = messages[maxIndex].getAttachments();
var attNames = attachments.map(att=>att.getName());
// Write data to sheet
ss.appendRow([from, cc, time, sub,...attNames ,'https://mail.google.com/mail/u/0/#inbox/'+mId])
}
}
不要忘记根据您的需要更改query
的值。
参考文献:
- 类GmailMessage
- 映射((
- Rest参数
您必须启用V8运行时才能使用该代码段。