1

我正在尝试设置我的第一个 Google 脚本。它应该从与我的搜索条件匹配的电子邮件集中删除一个标签,但是当我运行脚本时出现此错误:

Cannot retrieve (line 9, file "Code")

我的代码:

function ArchiveEmails() {
  var misc_reps = GmailApp.search("from:(reports@example.com) \"Source: misc_reports\" \"The file was successfully processed\"");
  var imp_tms_processing = GmailApp.getUserLabelByName('imp-tms-processing');


  for (var i=0; i<misc_reps.length; i++) {
    var misc_rep = misc_reps[i];
    var id_string = misc_rep.getId(); //use to confirm specific email found in debugging
    misc_rep.removeLabel(imp_tms_processing); // line 9
  }  
}

我不知道从这里去哪里;我找不到有关此问题的任何文档。

4

2 回答 2

5

这意味着 Gmail 找不到标签。您会认为该行会发生错误:

var imp_tms_processing = GmailApp.getUserLabelByName('imp-tms-processing');

但由于某种原因,在您实际尝试对标签执行某些操作之前,它不会引发错误。

登录到 Gmail 帐户并确保您的标签存在。如果您的标签嵌套在父标签下,请使用以下形式:

GmailApp.getUserLabelByName("parent/child");
于 2013-04-18T07:45:53.220 回答
2

用于替换标签中空格的破折号对于搜索条件是必需的,但对于此函数 getUserLabelByName 则不需要。我刚刚花了几天时间尝试使用这个特定的功能,但没有成功。一旦我删除了破折号并使用了实际的标签名称,它就可以正常工作了。

于 2013-05-12T14:53:59.537 回答