如何从 Gmail API 中的子标签获取电子邮件?

时间:2021-05-26 05:18:46

标签: gmail gmail-api

我想从用户创建的特定标签中获取电子邮件,我可以为自定义标签获取电子邮件,但是当我尝试为子标签获取电子邮件时,它对我不起作用。

enter image description here

这是我的标签层次结构,我可以从“测试 1”和“测试 2”标签中获取邮件,但是当我尝试从“子文件夹 1”标签中获取邮件时,它总是返回一个空白的电子邮件数组.

这是我用来从“测试 1”标签中获取电子邮件的 API 查询。

https://www.googleapis.com/gmail/v1/users/me/messages?q=in:Test%201%20&maxResults=20

对于“子文件夹 1”标签,我形成了如下所示的 URL。

https://www.googleapis.com/gmail/v1/users/me/messages?q=in:Test%201/Child%20Folder%201%20&maxResults=20

Gmail 文档参考:https://developers.google.com/gmail/api/guides/filtering

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如何使用 GMail API 从嵌套标签中检索电子邮件

对此有几种方法。

假设我有这些标签:

enter image description here

每个人都有一些消息。

方法一

您可以转到 GET user.labels.list,它将返回所有标签的列表。使用标签 id 然后您可以转到 user.messages.list 并提出请求

https://gmail.googleapis.com/gmail/v1/users/me/messages?labelIds=[LABEL_ID]&key=[YOUR_API_KEY]'

方法二

使用查询参数,就像您所做的那样。查询是:

in:test/nested label

URL 编码为

q=in%3Atest%2Fnested%20label

所以最后的请求是

https://gmail.googleapis.com/gmail/v1/users/me/messages?q=in%3Atest%2Fnested%20label&key=[YOUR_API_KEY]'

所以也许您的问题是您没有将查询中的 / 网址编码为 %2F

参考

相关问题