我正在尝试编写一个Google Apps脚本,用于处理所有具有特定标签的电子邮件。
我正在使用GmailApp.search函数检索所有相关的电子邮件,但是当我尝试使用GmailThread class中的函数文档时,我收到一条错误消息,指出它无法找到功能
这是我的代码;
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.
我哪里错了?
答案 0 :(得分:1)
你应该避免使用模糊的变量名称,“电子邮件”和“电子邮件”在谈论一方的线程和另一方的索引整数时是非常糟糕的选择...
你的问题主要来自两个变量之间的混淆,你使用电子邮件而不是电子邮件* S *并且似乎忘记了你的值是一个线程数组,因此需要被索引。< / p>
这是你的工作代码,只有一个字母差异;-)和几个括号......
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);
}
}
}
也就是说,你仍然需要在这个脚本上做很多工作才能让它返回一些有趣的东西......现在它告诉你线程的数量和它们有多少消息...无论如何,这是一个好的开始...
祝你好运!