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



我在标签删除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 收件箱中看到标签,因此我知道它已成功创建并显示。关于我做错了什么有什么建议吗?

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

看这里。标签的 ID 包含在

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

请求:

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

您还可以列出所有标签以检索其 ID。

删除请求应如下所示:

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

因此,Label_3应替换为您的标签 ID。

最新更新