https://developers.google.com/gmail/api/v1/reference/users/messages/list
Gmail API允许检索给定查询的邮件数量估计(来自:send1@gmail.com是:未读)。不知何故,API返回的数字似乎与网络邮件上显示的数字非常不同。
知道如何返回实际数字吗?
resultSizeEstimate只是一个估计,不能保证对一般查询准确。它应该为特定标签上的查询提供更合理的(仍然是估计的)数字("label:MYLABEL"或"label:MYBLABEL是:未读")。
不幸的是,除了检索所有数字并查看返回的列表大小外,目前还没有获得实际数字的方法。
部分答案-我也达到了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
这并不是所有情况的解决方案,但可能会有所帮助。你可以使用用户获取给定标签下的确切电子邮件数量。标签:获取
https://developers.google.com/gmail/api/v1/reference/users/labels/get
messagesTotal值会给你这个数字。
不幸的是,正如其他人所注意到的,用Users.messages:list或进行搜索不会返回准确的结果。