GMail API:获取收件箱中最早的电子邮件的最快方式

时间:2018-03-01 11:55:57

标签: google-api gmail gmail-api

我想在GMail收件箱中收到最早的电子邮件。如何使用最少数量的API调用来实现这一目标?

执行此操作的一种方法是从Users:getProfile API获取电子邮件总数,然后使用User.messages:list API使用“ pageToken ”查询获取最后一页参数使用公式

  

pageToken = totalMessages / 50

从我的收件箱的最后一页获取邮件列表,然后使用列表中最后一条邮件的mid来获取最早的电子邮件。

我只是想知道是否有更好的方法来做到这一点?我无法从文档中找出其他方法。是否会向我提取最早的电子邮件?

1 个答案:

答案 0 :(得分:2)

User.messages.list包含一个名为q的参数,可用于搜索。

  

https://www.googleapis.com/gmail/v1/users/userId/messagesq=before%3A2008%2F01%2F01&access_token= {令牌}

基本上发送before:2008/01/01就像在gmail网络应用中搜索一样,在该日期之前返回所有电子邮件。

这里的诀窍是缩小你的搜索范围。 Gmail于2004年发布。这使得2018年和2004年之间可能的开始分成两半

before:2011/01/01  (there were mails split it in half again) 
before:2007/01/01  (there were no mails must be between 11 and 7)
before:2009/01/01  (...)

这种搜索方法有一个术语,但我现在无法记住它。基本上你一直把它除以2并找出结果必须在哪里。