我在网上发现了一个脚本,允许我自动删除某个标签的电子邮件,这些电子邮件的日期早于特定日期。我一直在尝试修改此脚本以便为我工作。我能够运行一次,但得到一个超时错误,说我的脚本向服务器发出了太多的请求。每次在我尝试运行脚本之后,我都会收到服务器错误。在使用执行转录本调查此错误时,编辑说它我没有授权对我的Gmail帐户运行脚本。如何重新授权此脚本以便我可以运行它并测试它是否正常工作?
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 :(得分:0)
如果您正在执行您的应用程序并且您想要访问的邮件是您的,则只需单击播放按钮,就会出现一个窗口,询问您的许可。完成此步骤后,将不会再次征得您的同意。
答案 1 :(得分:0)
我通过包含对另一个谷歌脚本服务的调用来实现它。这带回了授权页面,从那以后一直运作良好。
我使用的代码行是这样的:
Session.getActiveUser().getEmail();