You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Gmail API获取指定时间邮件遇AttributeError错误,求解决方案

如何通过Gmail API获取特定时间范围的邮件

我已经用Python实现了Gmail API调用,但运行代码时会提取全部邮件列表。我希望仅获取特定时间范围内的新邮件,尝试了以下代码却报错:

尝试的代码:

# 尝试用这段代码获取指定时间区间的邮件,但执行报错
msg = service.users().messages().list(userId = 'me').setQ('after:1504483200 before:1504915199').execute()

报错信息:

File "F:\AibcAP_Process\gmail.py", line 184, in read_message
    msg = service.users().messages().list(userId = 'me').setQ('after:1504483200 before:1504915199').execute()
AttributeError: 'HttpRequest' object has no attribute 'setQ'

问题原因

报错是因为Gmail API的messages().list()方法不存在setQ()这个调用方式,正确做法是直接将查询条件作为q参数传入list()方法中。

正确代码示例

# 直接在list()方法中传入q参数指定时间范围
msg = service.users().messages().list(
    userId='me',
    q='after:1504483200 before:1504915199'
).execute()

额外说明

  • 时间格式:除了时间戳,你也可以使用可读性更强的RFC3339格式字符串,比如:
    q='after:2017-09-04T00:00:00Z before:2017-09-09T23:59:59Z'
    
  • 筛选新邮件:如果要获取该时间范围内的未读邮件,只需在查询条件中添加is:unread:
    q='after:1504483200 before:1504915199 is:unread'
    

内容的提问来源于stack exchange,提问作者rohit kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:05:23