删除标签请求,即使标签存在也返回400

时间:2019-09-17 19:40:13

标签: gmail-api

标签删除Gmail API出现问题。 无论我提交什么标签,都会得到错误响应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidArgument",
    "message": "Invalid delete request"
   }
  ],
  "code": 400,
  "message": "Invalid delete request"
 }
}

为了重现,我首先发出请求:

POST https://www.googleapis.com/gmail/v1/users/me/labels
{"labelListVisibility":"labelShow","messageListVisibility":"show","name":"C2"}

成功后,在我发送后立即发送:

DELETE https://www.googleapis.com/gmail/v1/users/me/labels/C2

会产生上述错误。我可以在Gmail收件箱中看到该标签,因此我知道它已成功创建并显示。关于我做错了什么建议吗?

1 个答案:

答案 0 :(得分:0)

您不能按名称删除标签,但必须按其ID删除

请参见here。标签的ID包含在

的响应中

POST https://www.googleapis.com/gmail/v1/users/me/labels

请求:

{
 "id": "Label_3",
 "name": "C1",
 "messageListVisibility": "show",
 "labelListVisibility": "labelShow"
}

您还可以list标记所有标签以检索其ID。

删除请求应类似于:

DELETE https://www.googleapis.com/gmail/v1/users/me/labels/Label_3

其中Label_3应该替换为您的标签ID。