gpt4 book ai didi

gmail-api - 如何快速获取用户邮箱中的邮件数量?

转载 作者:行者123 更新时间:2023-12-04 14:44:32 24 4
gpt4 key购买 nike

我正在尝试使用 Gmail API 获取用户邮箱中所有电子邮件的计数。这意味着运行类似

do{
page = request.execute();
if (page.getMessages() != null){
totalSize += page.getMessages().size();
}
request.setPageToken(page.getNextPageToken());
}while (request.getPageToken() != null && request.getPageToken().length() > 0);

问题在于,对于大型邮箱,这可能是一个漫长的过程,需要进行许多 API 调用。例如,一个包含 31,000 封电子邮件的邮箱需要一分钟多的时间才能运行,并且需要 300 多次迭代才能运行。

有没有更好的办法?

我试过使用 maxResults 参数,但它默认为 100 并忽略任何大于 100 的值。批处理是行不通的,因为在您遍历每个页面之前,无法知道您必须发出多少请求。和 resultSizeEstimate List 响应中的属性非常不准确。

最佳答案

Gmail API 现在使用 Labels.Get() 方法为任何标签上的邮件和线程提供总数和未读计数。看:
https://developers.google.com/gmail/api/release-notes

https://developers.google.com/gmail/api/v1/reference/users/labels

如果您想获取整个邮箱(所有邮件)的邮件和线程计数,请使用新的 gmail.users.getProfile() 方法。您可以在 API Explorer 中试用:
https://developers.google.com/gmail/api/v1/reference/users/getProfile

关于gmail-api - 如何快速获取用户邮箱中的邮件数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25576159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com