Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌脚本只读取前几行_Javascript_Debugging_Google Apps Script - Fatal编程技术网

Javascript 谷歌脚本只读取前几行

Javascript 谷歌脚本只读取前几行,javascript,debugging,google-apps-script,Javascript,Debugging,Google Apps Script,我希望monitorEmails功能在收件箱中查找新邮件。不管出于什么原因,GS不会读取前两行代码,我知道这一点,因为日志只显示前两行代码 Logger.log(..) 声明已经核实。GS只记录前几行,在第一条语句之后不提供任何反馈 如何让GS显示Logger.log(..)语句 以下是代码: //set a time-driven trigger to run this function on the desired frequency function monitorEmails(

我希望monitorEmails功能在收件箱中查找新邮件。不管出于什么原因,GS不会读取前两行代码,我知道这一点,因为日志只显示前两行代码

Logger.log(..)
声明已经核实。GS只记录前几行,在第一条语句之后不提供任何反馈

如何让GS显示Logger.log(..)语句

以下是代码:

    //set a time-driven trigger to run this function on the desired frequency
function monitorEmails() {  
  var thread = GmailApp.getInboxThreads(0,1)[0]; // get first thread in inbox 
  // log the number of messages in the thread
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var numMsgs = firstThread.getMessageCount();  // # of messages in a given thread
  Logger.log(firstThread.getMessageCount());
  var messages = firstThread.getMessages();
  if (firstThread.isUnread()=='true'){  // check if thread is Read
    //Logger.log(firstThread.isUnread()=='true');
    for (var i = 0; i < messages.length; i++) {  //Go through each message within a   Thread
      // Logger.log(messages[i].getSubject());
      if (messages[i].isUnread()){   // if the message is unread
        Logger.log(messages[i].isUnread());
        var unreadBody = messages[i].getBody();  // Body contents variable that contains the body 
        Logger.log(messages[i].getBody());
        var unreadFrom = messages[i].getFrom();  // Email Sender contents variable
        //Logger.log(messages[i].getFrom());
        messages[i].markRead();  // Mark message as read
        //Logger.log(messages[i].markRead());  
        var fullLot = "Full";  // look for "Full" in text message.
        //Logger.log(unreadBody.search(fullLot) =='true');
        if(unreadBody.search(fullLot) == 'true' && getEmail()==AdminTest()){
          // if the sender has the proper admin email / phone #, then call function sendEmails
          sendEmails();
        }
      }
    }
  }
}     
//设置时间驱动触发器以在所需频率上运行此功能
函数monitorEmails(){
var thread=GmailApp.getInboxThreads(0,1)[0];//获取收件箱中的第一个线程
//记录线程中的消息数
var firstThread=GmailApp.getInboxThreads(0,1)[0];
给定线程中消息的var numMsgs=firstThread.getMessageCount();/#
Logger.log(firstThread.getMessageCount());
var messages=firstThread.getMessages();
if(firstThread.isUnread()='true'){//检查线程是否已读取
//Logger.log(firstThread.isUnread()=='true');
对于(var i=0;i

谢谢你的帮助

您在进行这样的比较时遇到了一个问题:

if (firstThread.isUnread()=='true'){  // check if thread is Read
您正在将布尔值与字符串进行比较。
true
false
都是关键字,因此不应将它们括在引号中:

if (firstThread.isUnread() == true){  // check if thread is Read
在一些地方,您正在执行比较,然后将比较结果记录在
if
块中-在比较之前记录比较结果更有用

我认为您可以通过使用一些上下文信息使日志更有意义来帮助自己——修改后的脚本显示了这方面的示例

日志 修改脚本
函数monitorEmails(){
var thread=GmailApp.getInboxThreads(0,1)[0];//获取收件箱中的第一个线程
//记录线程中的消息数
var firstThread=GmailApp.getInboxThreads(0,1)[0];
给定线程中消息的var numMsgs=firstThread.getMessageCount();/#
Logger.log(“numMsgs=“+numMsgs”);
Logger.log(“Subject=“+firstThread.getFirstMessageSubject());
var messages=firstThread.getMessages();
Logger.log(“firstThread.isUnread()=”+firstThread.isUnread());
if(firstThread.isUnread()==true){//检查线程是否已读取
对于(var i=0;i
[13-07-02 09:40:53:583 EDT] numMsgs=1
[13-07-02 09:40:53:583 EDT] Subject=YOU could be our Player of the Week!
[13-07-02 09:40:53:658 EDT] firstThread.isUnread()==true
[13-07-02 09:40:53:658 EDT] messages[0].subject=YOU could be our Player of the Week!
[13-07-02 09:40:53:658 EDT] messages[0].isUnread=true
...
function monitorEmails() {  
  var thread = GmailApp.getInboxThreads(0,1)[0]; // get first thread in inbox 
  // log the number of messages in the thread
  var firstThread = GmailApp.getInboxThreads(0,1)[0];
  var numMsgs = firstThread.getMessageCount();  // # of messages in a given thread
  Logger.log("numMsgs="+numMsgs);
  Logger.log("Subject="+firstThread.getFirstMessageSubject());
  var messages = firstThread.getMessages();
  Logger.log("firstThread.isUnread()=="+firstThread.isUnread());
  if (firstThread.isUnread()== true ){  // check if thread is Read
    for (var i = 0; i < messages.length; i++) {  //Go through each message within a   Thread
      Logger.log("messages["+i+"].subject="+messages[i].getSubject());
      Logger.log("messages["+i+"].isUnread="+messages[i].isUnread());
      if (messages[i].isUnread()){   // if the message is unread
        var unreadBody = messages[i].getBody();  // Body contents variable that contains the body 
        Logger.log("messages["+i+"].body="+unreadBody);
        var unreadFrom = messages[i].getFrom();  // Email Sender contents variable
        Logger.log("messages["+i+"].from="+messages[i].getFrom());
        messages[i].markRead();  // Mark message as read
        Logger.log("messages["+i+"].isUnread="+messages[i].isUnread()); 
        var fullLot = "Full";  // look for "Full" in text message.
        var searchResult = unreadBody.search(fullLot);
        Logger.log("messages["+i+"].searchResult="+searchResult);
        if(searchResult == true && getEmail()==AdminTest()){
          // if the sender has the proper admin email / phone #, then call function sendEmails
          sendEmails();
        }
      }
    }
  }
}