Google apps script Gmail应用程序:查找具有日历项的线程

Google apps script Gmail应用程序:查找具有日历项的线程,google-apps-script,gmail,Google Apps Script,Gmail,有些邮件顶部有日历项,如下所示: 在GScript中,是否有任何方法可以查找包含这些日历项的邮件?如果是,如何从中提取信息 更新 我运气好,发现它被归类为附件(类型ics),但仍然存在从该文件中提取数据的问题…尝试以下方法: function getIcs(){ var threads = GmailApp.getInboxThreads(); var thread, messages, message, attachments, attachment; var result = [

有些邮件顶部有日历项,如下所示:

在GScript中,是否有任何方法可以查找包含这些日历项的邮件?如果是,如何从中提取信息

更新

我运气好,发现它被归类为附件(类型
ics
),但仍然存在从该文件中提取数据的问题…

尝试以下方法:

function getIcs(){
  var threads = GmailApp.getInboxThreads();
  var thread, messages, message, attachments, attachment;
  var result = [];

  for (var i = 0; i < threads.length; i++){
    messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++){
      message = messages[j];
      attachments = message.getAttachments();
      for (var k = 0; k < attachments.length; k++){
        attachment = attachments[k];        
        if(attachment){
          if (attachment.getContentType() == "application/ics"){
            Logger.log("found ics");//continue;
            result.push(message);
          }
        }
      }
    }
  }
  return result;
}
试试这个:

function getIcs(){
  var threads = GmailApp.getInboxThreads();
  var thread, messages, message, attachments, attachment;
  var result = [];

  for (var i = 0; i < threads.length; i++){
    messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++){
      message = messages[j];
      attachments = message.getAttachments();
      for (var k = 0; k < attachments.length; k++){
        attachment = attachments[k];        
        if(attachment){
          if (attachment.getContentType() == "application/ics"){
            Logger.log("found ics");//continue;
            result.push(message);
          }
        }
      }
    }
  }
  return result;
}

谢谢…我已经到了那个阶段,我现在正试图从ics文件中读取信息。也许这应该是一个单独的问题。我找到了可能有效的方法,但我不确定如何将文件从附件传递到该方法。我在webapps部分没有代表,因此无法对该问题发表评论。您试图对.ics文件做什么?创建事件?对于我当前的目的,我只希望能够从中提取时间和日期信息。对于未来来说,知道如何从中获取其他属性也会很有用。我更新了答案,包括如何查找事件的数据。从该事件对象中,您可以获得所需的所有属性,如果您有权限,甚至可以对其进行编辑。太棒了!我甚至没有意识到所有的数据都在字符串中。非常感谢。谢谢…我已经到了那个阶段,我现在正试图从ics文件中读取信息。也许这应该是一个单独的问题。我找到了可能有效的方法,但我不确定如何将文件从附件传递到该方法。我在webapps部分没有代表,因此无法对该问题发表评论。您试图对.ics文件做什么?创建事件?对于我当前的目的,我只希望能够从中提取时间和日期信息。对于未来来说,知道如何从中获取其他属性也会很有用。我更新了答案,包括如何查找事件的数据。从该事件对象中,您可以获得所需的所有属性,如果您有权限,甚至可以对其进行编辑。太棒了!我甚至没有意识到所有的数据都在字符串中。非常感谢。