如何使用Gmail API获取INBOX中未读线程的数量?

时间:2014-06-28 15:46:00

标签: gmail-api

我尝试使用list thread方法:

GET https://www.googleapis.com/gmail/v1/users/{MyEmailAddress}/threads?labelIds=INBOX&labelIds=UNREAD&key={YOUR_API_KEY}

resultSizeEstimate与Gmail网络应用中我的收件箱旁边的数字不匹配。

还有其他办法吗?

3 个答案:

答案 0 :(得分:7)

Gmail API现在使用Labels.Get()方法为每个Label上的消息和线程提供总计和未读计数。看到: https://developers.google.com/gmail/api/release-noteshttps://developers.google.com/gmail/api/v1/reference/users/labels

答案 1 :(得分:4)

在Gmail用户界面中关闭对话视图,以便准确计算收件箱中的邮件(而不是帖子)。

您也可以使用:

in:inbox is:unread

作为UI和API中的查询。删除labelId参数。

答案 2 :(得分:0)

GET https://www.googleapis.com/gmail/v1/users/{email}/messages?labelIds=UNREAD&labelIds=INBOX&fields=messages%2FthreadId

"消息/ threadId所"将计算未读线程的数量,但如果线程有多个消息,则会多次列出同一个线程。将它们存储在一个数组中,并在填充数据时检查数组以匹配" threadId"标识符并忽略重复项。