添加自定义 header 并使用 Microsoft Graph API 检索自定义 header

Add custom headers and retrieve custom header using Microsoft Graph API

我目前正在使用 Microsoft Graph API 来检索我的电子邮件、发送新电子邮件和回复电子邮件。

我使用 Code Grant 授权来识别我的用户并访问其信息。

问题

此应用程序允许用户向我们有未付发票的客户发送电子邮件。但是该应用程序使用 GET https://graph.microsoft.com/v1.0/me/messages$search 设置为客户电子邮件)来检索涉及客户的每封邮件,因此用户可以跟踪其他员工进行的每一次对话。

问题是能够将电子邮件(从我们的应用程序发送)与其他邮件(从 Outlook 应用程序发送)区分开来。我们想使用电子邮件 headers,它被大量邮件服务器接受,我们可以使用它来过滤搜索结果以告知用户哪些电子邮件来自我们的应用程序。

期望的结果是,例如,我可以像这样调用 Microsoft Graph API:

  1. GET https://graph.microsoft.com/v1.0/me/messages 与 OData 参数:$search="john.doe@gmail.com"$select=subject,bodyPreviewreceivedDateTime,headers
  2. 然后假设请求已发回 200 代码,JSON 输出将是:

请注意 X-MY-COMPANY-INVOICE,这是我们让应用知道这是从我们的应用而非 Outlook 应用发送的最终目标。

问题

有没有什么方法可以使用 Microsoft Graph API 执行此操作?如果没有,微软是否计划很快发布此功能?

问题 2

我乐于接受建议,这是执行此操作的最佳方法,还是我要用这种技术来解决问题?如果是,解决这个问题的最佳方法是什么?

这是 Extensions 的一个很好的用例。您可以使用这些机制将自定义数据附加到元素(消息、事件、用户、组等)。

Microsoft Graph 提供了多种类型的扩展:Extended Properties, Open Extensions or Schema Extension。每个都有自己的一组约束,因此值得审查每个以确定哪个最适合您的场景和体系结构。也就是说,根据您的描述,我怀疑架构扩展可能最适合这里。