【问题标题】:Get Message Body and Headers In One API Call Gmail API (Python)在一个 API 调用 Gmail API (Python) 中获取消息正文和标题
【发布时间】:2018-05-31 06:59:14
【问题描述】:

有没有办法在一个 API 调用中获取电子邮件标题和电子邮件正文?

我可以通过两次调用来完成:

headers = service.users().messages().get(userId='me', id=message['id'], format='metadata').execute()

msg = service.users().messages().get(userId='me', id=message['id']).execute()

但如果我能在一个电话中完成它会更快。

有什么想法吗?

【问题讨论】:

    标签: python-3.x email gmail-api


    【解决方案1】:

    user.messages.get() 将返回所有内容,包括标题,如果您将格式参数设置为“full”或“raw”。

    见:https://developers.google.com/gmail/api/v1/reference/users/messages/get

    可接受的值为:

    "full":返回完整的电子邮件信息数据 在有效负载字段中解析正文内容;原始字段不是 用过的。 (默认)

    “元数据”:仅返回电子邮件 ID、标签和 电子邮件标题。

    “minimal”:仅返回电子邮件 ID 和标签; 不返回电子邮件标头、正文或有效负载。

    “原始”:返回 在原始字段中包含正文内容的完整电子邮件数据作为 base64url 编码字符串;未使用有效负载字段。

    还有:https://developers.google.com/gmail/api/v1/reference/users/messages

    标头在payload.headers 字段中返回。

    【讨论】:

      【解决方案2】:

      仅当使用 FULL 格式时,标题和正文才会出现在消息中。 RAW 和 MINIMAL 格式会省略标题,METADATA 格式会省略正文。

      您的第二次调用应包括正文和标题。

      您可以在这里测试 API:https://developers.google.com/gmail/api/v1/reference/users/messages/get?authuser=1

      【讨论】:

        猜你喜欢
        • 2018-07-06
        • 2016-03-18
        • 1970-01-01
        • 2018-07-28
        • 1970-01-01
        • 2014-11-15
        • 2018-01-17
        • 2017-06-05
        • 2018-09-29
        相关资源
        最近更新 更多