Python:如何从gmail API获取电子邮件的主题

时间:2019-03-13 14:26:53

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

使用Gmail API,我如何检索电子邮件的主题?

我在原始文件中看到了它,但是检索它很麻烦,而且我确信应该有一种直接通过API进行操作的方法。

messageraw= service.users().messages().get(userId="me", id=emails["id"], format="raw", metadataHeaders=None).execute()

这是与此one相同的问题,但它已经很接近了,因此我无法提供比提出的更好的答案。

2 个答案:

答案 0 :(得分:1)

如本answer中所述,主题位于headers的{​​{1}}中

payload

但是如果您使用 "payload": { "partId": string, "mimeType": string, "filename": string, "headers": [ { "name": string, "value": string } ], “,则此功能不可用。因此,您需要使用format="raw

这是完整的代码:

format="full"

答案 1 :(得分:0)

用这个代码读取邮件的所有内容

resultado = service.users().messages().list(userId= 'me',q=q_str,labelIds= ['INBOX']).execute()
mensajes = resultado.get('messages', [])
print ("Mensaje:")
    for mensaje in mensajes[:1]:
        leer = service.users().messages().get(userId='me', id=mensaje['id']).execute()
        payload = leer.get("payload")
        header = payload.get("headers")
        for x in header:
            if x['name'] == 'subject':
                sub = x['value'] #subject
                print(sub)
        print(leer['snippet'])  #body

q=q_str,这是过滤器。查看 API 文档。