gpt4 book ai didi

python - 如何获取 Gmail API 邮件的文本/纯文本部分

转载 作者:行者123 更新时间:2023-12-04 10:48:10 24 4
gpt4 key购买 nike

因此,有时文本/纯文本位于 GmailAPI 恢复的电子邮件的顶级“部分”数组中,有时它嵌套在 JSON 中,如果有附件或内嵌电子邮件,则它嵌套得更深。

我应该如何处理总是能够返回正文的文本/纯文本版本。

谢谢

最佳答案

我其实也有这个问题,希望能在这里找到一个 awnser。我绝不是一个python专家,而且我是一个stackoverflow初学者:-)。但让我与您分享我的解决方案和我的思路。
我们遇到的问题是 messagePart 嵌套了 x 次。因此,我们并不确切知道我们想要检索的内容存储的深度和位置。我们也知道,如果传递的对象内部没有parts对象,说明我们处于最低层,可以停止查找。
幸运的是,Python 接受函数递归,这意味着定义的函数可以调用自身。
唯一缺少的是在顶层(在 [payload] 中的正文中)查找您的内容。在这个例子中,我在 text/plain 或 text/html 中查找电子邮件。
我希望这可以帮助您了解如何使用函数递归遍历所有部分。

client = MongoClient()
db = client['gmail']
message_full =service.users().messages().get(userId='me', id='175dff5c51f1f7ab', format='full').execute()


def message_full_recursion(m):
for i in m:
mimeType = (i['mimeType'])
print(mimeType)

if (i['mimeType']) in ('text/plain','text/html'):
print('found')
elif 'parts' in i:
print('recursing')
message_full_recursion(i['parts'])

message_full_recursion(message_full['payload']['parts'])

关于python - 如何获取 Gmail API 邮件的文本/纯文本部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59603771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com