python - 如何使用 gmali-api 获取已读和未读或发送和接收的邮件数量?

标签 python google-api gmail gmail-api google-api-python-client

我想使用python知道已发送了多少封电子邮件以及已收到了多少封电子邮件。

label_id_one = 'INBOX'
label_id_two = 'UNREAD'
# Getting all the unread messages from Inbox
unread_msgs = GMAIL.users().messages().list(userId='me', labelIds=[label_id_one, label_id_two]).execute()

当我使用此代码时,我可以从收件箱获取未读邮件的数量。

但是如何获取已读邮件的数量呢?

使用所有邮件减去未读邮件的计数?我认为这不好。

我在这个link查询了API ,但没有 API 提供此类数据。

如何获取此类数据?

最佳答案

我认为您正在寻找的信息不存在。最接近的是 Users: getProfile

响应中有一个字段

messagesTotal integer The total number of messages in the mailbox.

{
 "emailAddress": "me@gmail.com",
 "messagesTotal": 66617,
 "threadsTotal": 14010,
 "historyId": "4618566"
}

但是,一旦您删除一条消息,数据就会发生变化,并且您的总消息数将会减少。

就发送的消息而言,您可以执行 message.list 并在已发送文件夹中搜索消息并获取结果,但这将是自您上次清理该文件夹以来发送的消息。

答案:gmail api 中没有数据表明您在 Gmail 帐户的生命周期内发送或接收了多少封电子邮件。你能得到的最接近的东西是

  • 已发送:已发送文件夹中的邮件数量 (in:sent)
  • 已收到:您帐户中未包含在已发送文件夹中的邮件数量。 (不在:已发送)

一旦您删除消息,该信息就会改变。

提示:search messages

检查未读不在:已发送标签:未读

未读消息

unread_msgs = GMAIL.users().messages().list(userId='me', q='not in:sent label:unread').execute()

阅读消息

unread_msgs = GMAIL.users().messages().list(userId='me', q='not in:sent label:read').execute()

关于python - 如何使用 gmali-api 获取已读和未读或发送和接收的邮件数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54230535/

相关文章:

javascript - 如何管理 Google 登录 session (Google 登录 JavaScript 客户端)

google-chrome - gmail api返回查询参数之外的电子邮件

python - 使用 imaplib,如何创建没有\\NoSelect 属性的邮箱

python - python 中的 Bokeh 库 : can I provide a custom y range in terms of values to have?

python - 如何将字典键与模型 ID 匹配

android - 如何在 Android 应用程序中使用 Google API 获取当前 GPS 位置(经纬度)?

c++ - 在电子邮件地址内移动点(句点)的算法

python - 如何在 Django 中按价格范围过滤对象?

python - 全局名称 're' 未定义

javascript - 调用 Google People API 时出现 403 错误