Javascript 整理所有包含';未读=真';

Javascript 整理所有包含';未读=真';,javascript,google-apps-script,Javascript,Google Apps Script,嗨,我需要整理Gmail中没有读到的信息。但当我添加“isUnread”时,我无法提取正文、发件人和附件属性 var firstThread = GmailApp.getInboxThreads(0,1)[0]; var unread = firstThread.isUnread(); var message = unread.getMessages()[0]; 如果我这样做,它的工作,但我没有得到未读的消息 var firstThread = GmailApp.getInboxThre

嗨,我需要整理Gmail中没有读到的信息。但当我添加“isUnread”时,我无法提取正文、发件人和附件属性

 var firstThread = GmailApp.getInboxThreads(0,1)[0];
 var unread = firstThread.isUnread();
 var message = unread.getMessages()[0];
如果我这样做,它的工作,但我没有得到未读的消息

var firstThread = GmailApp.getInboxThreads(0,1)[0];
   var message = firstThread.getMessages()[0];

有什么建议吗?

也许只是程序问题,你可以试试

var firstThread = GmailApp.getInboxThreads(0,1)[0];
 var messages = firstThread.getMessages();
 var unread = [];
 for (var i=0; i<messages.length; i++){
  if (messages[i].isUnread()) unread.push(messages[i]);
 }

var firstThread=GmailApp.getInboxThreads(0,1)[0];
var messages=firstThread.getMessages();
var未读=[];

对于(var i=0;isailens)方法,搜索也是获得所需内容的简单方法。 以下2个小功能演示:

function getUnreadMessages() {
 var unreadThreads = GmailApp.getInboxThreads(0,100);
  if(unreadThreads.length==0){Logger.log('no unread messages');return};
  var unreads = [];unreads.push('\n\n');
  for(var n in unreadThreads){
    if(unreadThreads[n].isUnread()){unreads.push(unreadThreads[n].getFirstMessageSubject()+' has '+unreadThreads[n].getMessageCount()+' message(s)\n')};
  }

  Logger.log(unreads);//shows the unread threads with their subjects and number of messages
}


function searchUnreads() {
  var unreadThreads = GmailApp.search('label:unread');
  if(unreadThreads.length==0){Logger.log('no unread messages');return};
  var unreads = [];unreads.push('\n\n');
  for(var n in unreadThreads){
    unreads.push(unreadThreads[n].getFirstMessageSubject()+' has '+unreadThreads[n].getMessageCount()+' message(s)\n');
  }
  Logger.log(unreads);//shows the unread threads with their subjects and number of messages
}

更新: 从线程中的每条消息中获取一些细节的版本,内置另一个函数以便于使用

function getUnreadMessages() {
 var unreadThreads = GmailApp.getInboxThreads(0,100);
  if(unreadThreads.length==0){Logger.log('no unread messages');return};
  var unreads = [];unreads.push('\n\n');
  for(var n in unreadThreads){
    if(unreadThreads[n].isUnread()){unreads.push(unreadThreads[n].getFirstMessageSubject()+' has '+unreadThreads[n].getMessages()[n].getDate()
                                                 .getMessageCount()+' message(s)\n');getDetails(unreadThreads[n])};
  }

  Logger.log(unreads);//shows the unread threads with their subjects and number of messages
}


function searchUnreads() {
  var unreadThreads = GmailApp.search('label:unread');
  if(unreadThreads.length==0){Logger.log('no unread messages');return};
  var unreads = [];unreads.push('\n\n');
  for(var n in unreadThreads){
    unreads.push(unreadThreads[n].getFirstMessageSubject()+' has '+unreadThreads[n].getMessageCount()+' message(s)\n');
  }
  Logger.log(unreads);//shows the unread threads with their subjects and number of messages
}
function getDetails(thread){
  for(var n=0;n<thread.getMessageCount();n++){
    Logger.log(thread[n].getMessages()[n].getBody()+' on '+thread[n].getMessages()[n].getDate())
    Logger.log(thread[n].getMessages()[n].getAttachments());
  }
}
函数getUnderMessages(){ var unreadThreads=GmailApp.getInboxThreads(0100); if(unreadThreads.length==0){Logger.log('no unread messages');return}; var unreads=[];unreads.push('\n\n'); for(未读线程中的变量n){ 如果(未读线程[n].isUnread()){unreads.push(未读线程[n].getFirstMessageSubject()+”具有'+未读线程[n].getMessages()[n].getDate() .getMessageCount()+'消息\n');getDetails(未读线程[n]); } Logger.log(未读);//显示未读线程及其主题和消息数 } 函数searchUnreads(){ var unreadThreads=GmailApp.search('label:unread'); if(unreadThreads.length==0){Logger.log('no unread messages');return}; var unreads=[];unreads.push('\n\n'); for(未读线程中的变量n){ 未读.push(未读线程[n].getFirstMessageSubject()+'具有'+未读线程[n].getMessageCount()+'消息)\n'); } Logger.log(未读);//显示未读线程及其主题和消息数 } 函数getDetails(线程){
对于(var n=0;n我让它工作起来,并且尽可能简单:

function myFunction() {

  var firstThread = GmailApp.getInboxThreads(0,1)[0];
 var message = firstThread.getMessages()[0];
  var unread = message.isUnread();


  var sender = message.getFrom();
  var body = "Detta mail är ursprungligen skickat från" + " " + sender + '\n' + message.getBody();
  var subject = message.getSubject();
  var attachment = message.getAttachments();
    if (unread == true){

    GmailApp.sendEmail("user.name@compay.com", subject, "",  {htmlBody: body, attachments: attachment});
  }

什么是.push-for?以前从未见过。而且它不起作用,同样的错误是它无法从“messages”
中提取属性。push
在数组的末尾添加了一个元素。我将看看google api,看看我能做什么我无法从“GmailApp.search('label:unread')中提取属性我无法从变量“unread”中提取属性。它只是空的。
var firstThread=GmailApp.getInboxThreads(0,1)[0];var messages=[];
检查线程是否有未读消息并复制消息
if(firstThread.isUnread())messages=firstThread.getMessages();
检索未读消息
var-umessages=[](var i=0;iHi Serge,谢谢您的帮助,但我似乎无法从变量“unreads”中提取“getFrom();”和“getSubject();”:(未读是一个线程,而不是一条消息…请参阅更新的代码以获取每条消息的详细信息我感到有点困惑,我需要的是1.获取第一个线程2.获取变量中该线程的消息3.从该变量中提取“getFrom();”和“getSubject();”