Google REST API:无法获取特定标签的邮件

Google REST API : Unable to fetch mails for a particular label

为了获取标签,我使用了 get request 'https://www.googleapis.com/gmail/v1/users/UserId/labels'。

但是,我无法获取特定标签的邮件。我想使用 Google 邮件 REST API.

获取特定标签的邮件(例如收件箱、已发邮件)

请注意,标签应以大写形式提供,例如

GET https://www.googleapis.com/gmail/v1/users/userId/labels/INBOX

如果您以其他格式提供标签 ID - 例如inboxInbox,调用失败并显示 404 未找到代码和消息。

您可以使用没有任何标签 ID 的 api 端点获取用户的可用标签列表。这将向您显示您可以检索的所有可用标签:

GET https://www.googleapis.com/gmail/v1/users/userId/labels

唯一有效的 ID 是 returned 标签列表中每个 JSON 对象的 ID 字段中的 ID。

编辑

OP 在评论中澄清他们希望实际检索消息,而不是标签信息。

为此 - 您需要使用不同的 API 端点

https://content.googleapis.com/gmail/v1/users/userId/messages

这需要可选的 LabelIds 参数,例如

https://content.googleapis.com/gmail/v1/users/userId/messages?labelIds=INBOX

这将 return 消息 ID 和线程 ID 的列表,如果需要(使用消息端点 get functionality),这些消息 ID 和线程 ID 又可用于检索单个消息或线程。

请注意 google documentation for the API is here, with specifics for the messages endpoint list functionality here,包括一个您可以使用标签 ID 试用的功能。请注意,有效的标签 ID 仍然是上面 returned 的那些。