问题描述
我想从用户创建的特定标签中获取电子邮件,我可以为自定义标签获取电子邮件,但是当我尝试为子标签获取电子邮件时,它对我不起作用。
这是我的标签层次结构,我可以从“测试 1”和“测试 2”标签中获取邮件,但是当我尝试从“子文件夹 1”标签中获取邮件时,它总是返回一个空白的电子邮件数组.
这是我用来从“测试 1”标签中获取电子邮件的 API 查询。
https://www.googleapis.com/gmail/v1/users/me/messages?q=in:Test%201%20&maxResults=20
Gmail 文档参考:https://developers.google.com/gmail/api/guides/filtering
任何帮助将不胜感激。
解决方法
如何使用 GMail API 从嵌套标签中检索电子邮件
对此有几种方法。
假设我有这些标签:
每个人都有一些消息。
方法一
您可以转到 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