Google apps script 异常:无效参数:label
我不熟悉谷歌脚本。我的脚本通过所需的gmail标签解析所有线程中的所有电子邮件。这部分工作得很好。现在我想给刚刚处理的线程添加新标签。这对我不起作用。我发现这个问题很简单,但它没有回答这个问题 所以我对它进行了更多的测试,发现即使是这段代码Google apps script 异常:无效参数:label,google-apps-script,gmail-api,Google Apps Script,Gmail Api,我不熟悉谷歌脚本。我的脚本通过所需的gmail标签解析所有线程中的所有电子邮件。这部分工作得很好。现在我想给刚刚处理的线程添加新标签。这对我不起作用。我发现这个问题很简单,但它没有回答这个问题 所以我对它进行了更多的测试,发现即使是这段代码 // Add label MyLabel to the first thread in the inbox var label = GmailApp.getUserLabelByName("MyLabel"); var firstThre
// Add label MyLabel to the first thread in the inbox
var label = GmailApp.getUserLabelByName("MyLabel");
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.addLabel(label);
从
正在引发相同的错误异常:无效参数:label
你知道如何给一条线添加标签吗
更新标签
MyLabel
不存在在脚本中,将使用现有的标签名称。因此,当使用不存在的新标签名时,会发生此类错误。要使用新标签名称,需要创建新标签。因此,当您的脚本被修改时,它将变成如下所示
修改脚本:
参考:
如何检查标签是否已存在的附加问题?
,我想回答。在这种情况下,可以使用getUserLabelByName
检查它。当GmailApp.getUserLabelByName(名称)
的name
存在时,将返回gmailabel
对象。当GmailApp.getUserLabelByName(名称)
的name
不存在时,将返回null
。这是可以使用的。当修改上述脚本时,它将变为以下内容
修改脚本:
或者,作为简单脚本,您也可以使用以下脚本
var newLabelName = "sample";
var label = GmailApp.getUserLabelByName(newLabelName) || GmailApp.createLabel(newLabelName);
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.addLabel(label);
- 在这个修改后的脚本中,当
不存在时,标签被创建为新标签。当newLabelName
存在时,将使用现有标签newLabelName
var newLabelName = "sample1";
var label = GmailApp.getUserLabelByName(newLabelName);
if (!label) {
label = GmailApp.createLabel(newLabelName);
}
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.addLabel(label);
var newLabelName = "sample";
var label = GmailApp.getUserLabelByName(newLabelName) || GmailApp.createLabel(newLabelName);
var firstThread = GmailApp.getInboxThreads(0,1)[0];
firstThread.addLabel(label);