如何解决从 Microsft Graph API 获取干净的邮件数据
我一直在尝试将来自 Microsoft Graph API 的干净邮件数据导入到 Django 模板中。
我试过使用
headers={'Prefer': 'outlook.body-content-type="text"'}
和
headers={'Prefer': 'outlook.body-content-type="html"'}
在我的 python GET
请求中,但它们都产生带有标签的数据。我曾尝试使用 regex 来清理我的数据,但效果不佳,因为 regex 删除了一些重要的文本。
有没有更简单的方法来获得更干净的邮件数据?
解决方法
您需要使用消息的 body 属性来获取其是否为 HTML/Text。您可以使用首选项标题来获取它。当您指定任一标头时,成功的响应将包含相应的 Preference-Applied 标头,
- 对于文本格式请求:Preference-Applied: Outlook.body-content-type="text"
- 对于 HTML 格式的请求: 偏好应用:outlook.body-content-type="html"
如果身体是 HTML,默认情况下,Outlook 会删除任何可能不安全的 HTML(对于 例如,JavaScript)在返回之前嵌入到 body 属性中 REST 响应中的正文内容。
- 要获取完整的原始 HTML 内容,请包含“Prefer:outlook.allow-unsafe-html”HTTP 请求标头
- 除上述之外,您还可以通过 $value 消息获取 MIME。
- 此外,您最终检索了 HTML 数据,然后使用 Beautiful Soup 清除了标签。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。