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