【问题标题】:Add labels to Gmail message while using /users.messages/send使用 /users.messages/send 时为 Gmail 邮件添加标签
【发布时间】:2021-03-21 09:30:12
【问题描述】:

使用/users.messages/send API 发送电子邮件时,是否可以在同一个 API 调用中为消息分配标签?

我知道您可以使用 modify 将标签应用到消息,但我不能包含此应用程序的 gmail.modify 范围,因此使用该端点不是我的选择。文档说send 端点采用Message 的实例,它允许labelIds 键。

我尝试使用下面的 JSON 正文发出 API 请求。它成功发送了电子邮件,但没有分配标签。由于电子邮件已发送,我相信原始消息不是问题。我怀疑这个端点只是忽略了身体的labelIds 部分。

有谁知道在使用send 端点时是否可以设置标签?

{
  "raw": "<RFC 2822 formatted and base64url encoded string>",
  "labelIds": [
    "Label_1"
  ]
}

我直接从标签端点获得了 ID Label_1,所以 ID 是正确的。

这些是我的客户 + 用户获准使用的范围。话虽如此,我还包括了额外的范围进行测试,但同样的问题发生了,即使您批准了 gmail.modifygmail.compose 范围,也没有设置标签。

userinfo.email
userinfo.profile
https://www.googleapis.com/auth/gmail.labels
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/contacts.readonly

编辑:如果这是一个错误,我也提交了ticket with Google

【问题讨论】:

    标签: gmail-api


    【解决方案1】:

    这是预期行为。

    以前在问题跟踪器中报告过,响应是:

    此行为按预期工作,只能为插入/导入的消息添加标签。对于已发送的消息,您可以在消息发送后使用users.messages.modify更新标签。

    尽管如此,由于可以通过 UI 在发送消息时设置标签,我认为这可能是一个有效的功能请求。我建议你提交一份。

    参考:

    【讨论】:

      猜你喜欢
      • 2016-07-08
      • 2018-06-17
      • 2017-12-21
      • 2014-10-18
      • 1970-01-01
      • 2018-06-20
      • 2018-07-30
      • 1970-01-01
      • 2012-03-11
      相关资源
      最近更新 更多