2013-10-31 38 views
0

我在网上发现了一个脚本,允许我自动删除某个标签比特定日期早的电子邮件。我一直在试图修改这个脚本来为我工作。我能够运行一次,但得到超时错误,说我的脚本向服务器发出太多请求。之后每次尝试运行脚本时,都会收到服务器错误。在使用Execution Transcript int编辑器调查这个错误时,它说我没有权限对我的gmail帐户运行脚本。如何重新授权此脚本,以便我可以运行它并测试它正在工作?Google脚本GmailApp - 真的很迷茫

function cleanUpForumEmails() { 
    var delayDays = 30; // Enter # of days before messages are moved to trash 
    var maxDate = new Date(); 
    maxDate.setDate(maxDate.getDate()-delayDays);  
    Logger.log("getting gmail labels"); 
// var label = GmailApp.getUserLabelByName("Social Updates"); 
    var labelObject = GmailApp.getUserLabelByName("Social Updates"); 
    Logger.log("got labels now testing for undefined"); 
    if (labelObject == null) { 
    Logger.log("Label is NULL"); 
    } else { 
    var threads = labelObject.getThreads(); 
    Logger.log("Label is Set. Number of Messages in Search: " + threads.length); 
    for (var i = 0; i < threads.length; i++) { 
     if (threads[i].getLastMessageDate() < maxDate && threads[i].hasStarredMessages() != true) { 
     if(i < 10) { 
      threads[i].moveToTrash(); 
      Logger.log("Moved Email Thread to Trash!"); 
      Utilities.sleep(1000); 
     } else { 
      Logger.log("moved 10 threads now breaking"); 
      break; 
     } 
     } 
    } 
    } 
} 
+0

Thwe邮件是脚本运行的邮件? –

回答

0

我通过调用另一个谷歌脚本服务来实现它。这带回了授权页面,并从那时起一直是完美无缺的。

,我所用的是代码行这样的:

Session.getActiveUser().getEmail(); 
要操纵
+1

您也可以使用此答案中提供的解决方案:http://stackoverflow.com/questions/20031107/google-apps-script-calendar-authorization-required-loop/20033077#20033077 –

0

如果是由你执行你的应用程序,您要访问的邮件是你的,你只需要在播放按钮点击和窗口将出现征求您的同意。完成此步骤后,它不会再次请求您的许可。

+0

是的,我的开发者账户和我的邮件账户是一样的。当我点击按钮后,我没有得到新的权限窗口,我做了更改。 – Talguy