【问题标题】:How to create a sub label with Gmail REST API如何使用 Gmail REST API 创建子标签
【发布时间】:2015-06-07 20:11:42
【问题描述】:

我正在使用 Gmail REST API 创建标签(使用我自己的代码,而不是库)。我让它适用于顶级标签,但现在我想为顶级标签创建一个子标签。我注意到,当我使用 Gmail 创建子标签时,然后查看通过 REST API 收到的列表,子标签使用“/”字符作为分隔符显示,例如“顶部标签/子标签”。但是,当我尝试创建这样的标签时,我只会得到一个名称中带有斜杠的标签,而不是实际的子标签。我该怎么做?

【问题讨论】:

  • 请注意,此行为与 API 几乎没有关系:当您在 UI 中创建一个名为 a/b 的新标签而不退出 a 时,您只会得到一个名为 a/b 的新标签.如果 a 已经存在,Gmail 会将其视为子标签 b。猜猜/ 只是一个特殊字符。在 API 中也是如此,只是记录得很差(阅读:没有)。似乎子标签并不是真正的现有实体;只是一种显示/-delimited labelnames的方式

标签: gmail-api


【解决方案1】:

您需要进行两次 API 调用。第一个创建顶级标签,第二个创建子标签。两个标签都存在后,Gmail 用户界面将正确折叠标签层次结构。

【讨论】:

  • 那么,首先创建“顶级” - 然后创建“顶级/子级别”?我会试试看的。
  • 无需关联,只需创建一个名为“Top Label”的标签,然后创建一个名为“Top Level/Sub Label”的标签。
【解决方案2】:

这是使用 python,并从这里使用 MakeLabel 和 CreateLabel https://developers.google.com/gmail/api/v1/reference/users/labels/create

这很简单!..

if papa_label_dont_exists:
    gmail_label_obj  = MakeLabel('Father')
    label            = CreateLabel(service, "me", gmail_label_obj)

gmail_label_obj  = MakeLabel('Father/Son')
label            = CreateLabel(service, "me", gmail_label_obj)

【讨论】:

    猜你喜欢
    • 2021-05-25
    • 2023-03-19
    • 2021-09-24
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2018-02-23
    相关资源
    最近更新 更多