【问题标题】:Get all sub-labels of a Gmail label through a Google Script通过 Google Script 获取 Gmail 标签的所有子标签
【发布时间】:2016-06-13 18:31:29
【问题描述】:

我想获取给定父标签的所有子标签。有可能吗?

How to check if a Gmail label has a nested sub-label? 中检查是否所有标签都有子标签,我尝试对特定标签做类似的事情,但没有结果。

【问题讨论】:

    标签: google-apps-script gmail


    【解决方案1】:

    Gmail 标签的父子关系基于它们的名称:如果您有一个标签“foo/bar”,并且还有一个名为“foo”的标签,则前者被视为后者的子级。 (我只是通过手动创建“foo/bar”标签然后“foo”来测试这一点;一旦“foo”出现,它就获得了“bar”作为孩子。)

    因此,以下函数将返回作为给定标签的子标签的所有标签的列表。 (这里的参数parent 是一个标签本身,而不是它的名字)。

    function children(parent) { 
      var name = parent.getName() + '/';
      return GmailApp.getUserLabels().filter(function(label) {
        return label.getName().slice(0, name.length) == name;
      });
    }
    

    【讨论】:

    • 谢谢!!现在,要获得“孙子”,我是否在子标签上再次使用循环?
    • 是的,你可以重复这个过程;例如,通过再次调用相同的函数。类似children('foo').map(children).reduce(function (a,b) {return a.concat(b);});
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    相关资源
    最近更新 更多