从Microsft Graph API获取干净的邮件数据



我一直在尝试将干净的邮件数据从MicrosoftGraph API获取到Django模板中。

我试过使用

headers={'Prefer': 'outlook.body-content-type="text"'}

headers={'Prefer': 'outlook.body-content-type="html"'}

在我的pythonGET请求中,但它们都会产生带有标记的数据。我尝试过使用regex来清理数据,但效果不佳,因为regex删除了一些重要的文本。

有没有一种更简单的方法可以获得更干净的邮件数据?

您需要使用消息的body属性来获取其HTML/Text。您可以使用首选项标头来获取它。当您指定任一标头时,成功的响应将包括相应的preference Applied标头

  • 对于文本格式请求:应用首选项:outlook.bodycontent-type=";文本">
  • 对于HTML格式请求:应用的首选项:outlook.body-content-type=";html">

如果身体HTML,默认情况下,Outlook会删除任何可能不安全的HTML(例如JavaScript(,然后返回REST响应中的主体内容。

  • 要获得完整的原始HTML内容,请包含";首选:outlook.allow-unsaf-html"HTTP请求标头
  • 除此之外,您还可以$value消息来获取MIME
  • 此外,您最终检索了HTML数据,然后使用Beautiful Soup清除了标记

最新更新