使用Gmail API,我如何检索电子邮件的主题?
我在原始文件中看到了它,但是检索它很麻烦,而且我确信应该有一种直接通过API进行操作的方法。
messageraw= service.users().messages().get(userId="me", id=emails["id"], format="raw", metadataHeaders=None).execute()
这是与此one相同的问题,但它已经很接近了,因此我无法提供比提出的更好的答案。
答案 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 文档。