已经获取电子邮件信息但需要附件名称的谷歌脚本



上下文

  • 我正在使用一个脚本来获取我在这里找到的电子邮件(我想是从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运行时才能使用该代码段。

最新更新