如何检查Gmail标签是否包含嵌套的子标签?

ors*_*iro 2 gmail google-apps-script

使用Google Apps脚本,是否可以检查Gmail标签是否包含嵌套的子标签?如果一个标签有一个或多个子标签,我想将它们从代码序列中排除。

Ser*_*sas 5

没有直接的方法可以从“父”标签中获取标签,但是使用此处记录的简单getUserLabels()方法并通过以下小代码进行说明,这种方法非常简单:

function getAllLabels(){
  var results = [];
  var labels = GmailApp.getUserLabels();
  for (var i = 0; i < labels.length; i++) {
    Logger.log("label: " + labels[i].getName());
    results.push(labels[i].getName());
  }
  for (var i = 0; i < results.length; i++) {
    if(results[i].indexOf('/')>0){Logger.log(results[i]+' has a subLabel')};
  }
}
Run Code Online (Sandbox Code Playgroud)

这将显示所有标签的列表,从第二个循环中,您将获得具有至少一个子标签的所有标签的列表。

请注意,此脚本有待改进,因为它将INBOX(例如但不仅限于)作为标签,这并不是您真正想要的标签,但是在某些情况下该部分将易于管理。