Google apps script Gmail线程对象的意外行为

Google apps script Gmail线程对象的意外行为,google-apps-script,Google Apps Script,我正在尝试编写一个谷歌应用程序脚本,它将处理所有带有特定标签的电子邮件 我正在使用GmailApp.search函数来检索所有相关的电子邮件,但是当我尝试使用文档中的函数时,我收到一条错误消息,表明它找不到该函数 这是我的密码 var incoming = "To_Bot" function readBotsEmail() { var emails = GmailApp.search("label:" + incoming); Logger.log("This is the 'ema

我正在尝试编写一个谷歌应用程序脚本,它将处理所有带有特定标签的电子邮件

我正在使用GmailApp.search函数来检索所有相关的电子邮件,但是当我尝试使用文档中的函数时,我收到一条错误消息,表明它找不到该函数

这是我的密码

var incoming = "To_Bot"

function readBotsEmail()
{
  var emails = GmailApp.search("label:" + incoming);

  Logger.log("This is the 'emails' object:" + emails)


  var emailsLoopIndex = 0
  for (var email in emails)
  {
    emailsLoopIndex += 1;
    try
    {
      Logger.log("iteration " + emailsLoopIndex + "     " + email.getMessageCount());
    }
    catch(e)
    {
      Logger.log("iteration " + emailsLoopIndex + "     " + e);
    }
  }
}
这是记录器的输出

[14-01-26 03:40:00:909 EST] This is the 'emails' object:GmailThread,GmailThread
[14-01-26 03:40:00:911 EST] iteration 1     TypeError: Cannot find function getMessageCount in object 0.
[14-01-26 03:40:00:914 EST] iteration 2     TypeError: Cannot find function getMessageCount in object 1.

我哪里出错了?

您应该避免使用模棱两可的变量名,“email”和“email”在一边谈论线程,另一边谈论索引整数时是非常糟糕的选择

您的问题主要来自这两个变量之间的混淆,您使用电子邮件而不是电子邮件*S*,并且似乎忘记了您的值是一个线程数组,因此需要索引

这是您的工作代码,只差一个字母;-)还有几个括号

function readBotsEmail()
{
  var emails = GmailApp.search("label:" + incoming);

  Logger.log("This is the 'emails' object:" + emails)


  var emailsLoopIndex = 0
  for (var email in emails)
  {
    emailsLoopIndex += 1;
    try
    {
      Logger.log("iteration " + emailsLoopIndex + "     " + emails[email].getMessageCount());
    }
    catch(e)
    {
      Logger.log("iteration " + emailsLoopIndex + "     " + e);
    }
  }
}
也就是说,在这个脚本上你还有很多工作要做,以使它返回一些有趣的东西。。。现在它会告诉你线程的数量和它们有多少消息。。。无论如何,这是一个好的开始


祝你好运

谢谢你的回复。今天晚些时候我会试试这个。现在,这个怪癖已经解决了,我可以开始玩这个,看看它带我去哪里!不客气。。。同时,请考虑接受这个答案。当来自Python时,很容易犯这样的错误:电子邮件中没有电子邮件意味着电子邮件是电子邮件列表中的一个对象。在Java中,它是引用索引的快捷方式。一点也不明显,这个几乎是英语的句子与i=0,i的相同