为了账号安全,请及时绑定邮箱和手机立即绑定

从 Gmail 检索所有电子邮件我做了但只有 3000 封电子邮件不是全部

从 Gmail 检索所有电子邮件我做了但只有 3000 封电子邮件不是全部

桃花长相依 2021-05-30 11:49:15
从Gmail提取所有电子邮件的方法是什么?我做到了full_sync,但这并没有返回我的所有电子邮件-仅约3000封电子邮件,尽管我知道我还有更多。他们在文档中没有提到这一点。我的代码片段:    history = service.users().history().list(        userId='me',        startHistoryId=start_history_id,        maxResults=500,        labelId='INBOX'    ).execute()    if "history" in history:        try:            for message in history["history"]:                   batch.add(                    service.users().messages().get(userId='me', id=message["messages"][0]["id"]),                    callback="somecallbak",                    request_id=request_id                )            batch.execute()    while 'nextPageToken' in history:
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

根据此链接的建议,您可以使用批处理请求。

使用批处理并一次请求100条消息。您将需要发出 1000 个请求,但好消息是这很好,而且对每个人来说都更容易(不要在单个请求中下载 1GB 响应!)。

同样基于此线程,您可以在每个请求上保存下一个页面令牌,并在下一个请求中使用它。如果响应中没有下一页标记,则说明您已收到所有消息。


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信