Gmail API:resultSizeEstimate提供奇数

时间:2016-01-13 14:13:59

标签: api google-api gmail google-api-php-client gmail-api

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

Gmail API允许检索给定查询的邮件数量估算值(来自:send1@gmail.com:未读)。不知何故,API返回的数字似乎与网络邮件上显示的数字非常不同。

有关如何返回实际数字的想法吗?

3 个答案:

答案 0 :(得分:2)

resultSizeEstimate只是一个估算值,不保证一般查询的准确性。它应该为特定标签上的查询提供更合理(仍然估计)的数字(“标签:MYLABEL”或“标签:MYLABEL是:未读”)。

不幸的是,除了检索所有数字并查看返回列表的大小之外,目前还没有获取实际数字的方法。

答案 1 :(得分:1)

部分答案 - 我也达到了103的限制。

我注意到,通过使用Google API的maxResults参数,我得到了不同但仍无效的结果。

使用maxResults的这个值:

request = service.users().messages().list(userId=user_id, labelIds=formatted_labels)

- > resultSizeEstimate = 103

使用maxResults的这个值:

request = service.users().messages().list(userId=user_id, labelIds=formatted_labels, maxResults=100)

- > resultSizeEstimate = 103

使用maxResults的这个值:

request = service.users().messages().list(userId=user_id, labelIds=formatted_labels, maxResults=1000)

- > resultSizeEstimate = 511

使用maxResults的这个值:

request = service.users().messages().list(userId=user_id, labelIds=formatted_labels, maxResults=50)

- > resultSizeEstimate = 52

答案 2 :(得分:0)

这并非完全解决所有情况,但可能会有所帮助。您可以使用Users.labels:get

获取给定标签下的确切电子邮件数量

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

messagesTotal值给您该数字。

不幸的是,正如其他人注意到的那样,使用Users.messages:list列出消息或进行搜索都不会返回准确的结果。