【发布时间】:2021-01-02 21:35:34
【问题描述】:
我正在开展一个项目,该项目需要通过 Gmail API 进行 JSON 文件响应,其中包含给定日期之间所有电子邮件(发件人信息、主题和正文)的列表。然后将根据需要处理该 JSON 文件。
我不确定如何生成一个请求,该请求可以通过 Python 使用 Gmail API 为我提供所需的 JSON 文件。
我是初学者,请帮帮我。
【问题讨论】:
我正在开展一个项目,该项目需要通过 Gmail API 进行 JSON 文件响应,其中包含给定日期之间所有电子邮件(发件人信息、主题和正文)的列表。然后将根据需要处理该 JSON 文件。
我不确定如何生成一个请求,该请求可以通过 Python 使用 Gmail API 为我提供所需的 JSON 文件。
我是初学者,请帮帮我。
【问题讨论】:
假设您已经通过 OAuth 并构建了服务(如果没有,请检查 the quickstart),您必须执行以下操作:
q按日期过滤您的消息。此 q 使用与 Gmail UI 中相同的语法:请参阅 Search operators you can use with Gmail。例如,如果您想检索 2020 年前 9 个月的邮件,您可以这样做:user_id = "me"
searchFilter = "after:2020/01/01 before:2020/10/01"
messages = service.users().messages().list(userId=user_id, q=searchFilter).execute()
id 和threadId。为了获得所有这些消息的完整消息资源,您应该遍历它们并为每条消息调用users.messages.get,使用它的id:for message in messages["messages"]:
messageId = message["id"]
message = service.users().messages().get(userId=user_id, id=messageId).execute()
Subject 的标题和另一个名为From 的标题。有关更多信息,请参阅这些答案:Python: how to get the subject of an email from gmail API、Get sender email from gmail-api。关于尸体,可以在["payload"]["body"] 找到。看到这个答案:How to retrieve the whole message body using Gmail API (python)。【讨论】: