将 Google 个子标签与父标签分开

Separating Google child labels from parent labels

我想检索用户在 Google 的所有标签并以整洁的方式显示它们,就像 Google 自己做的那样:

当我使用 Gmail API 获取此标签层次结构时,我得到以下数据:

GET https://www.googleapis.com/gmail/v1/users/me/labels?key={YOUR_API_KEY}

我用“/”作为分隔符是为了找出某个子标签的父标签。在我意识到我可以创建名称中带有“/”的标签之前,这非常有效。无赖。

有没有其他方法可以做到这一点,或者我是否应该阻止我的用户创建带有“/”的标签,而只接受他们可能在其他地方创建的潜在 "bad" 标签?谢谢

可以正确处理这种情况,尽管它需要一些额外的工作,而不仅仅是拆分 '/'。

假设您有标签:

    • 酒吧
      • baz/qux

当您获取所有标签时,您将取回 3 个条目:

"foo" "foo/bar" "foo/bar/baz/qux"

请注意,虽然 "foo" 和 "foo/bar" 存在,但没有 "foo/bar/baz"。该标签不存在,因为 'baz/qux' 是文字标签名称。

与其简单地拆分,不如尝试前缀匹配。父标签将是最长的标签(+ 尾随 /),它是您检查的标签的前缀。前缀后面的任何内容都是标签名称本身。