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

时间:2017-12-08 09:43:15

标签: microsoft-graph outlook-restapi

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

我使用代码授予权限来识别我的用户并访问其信息。

问题

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

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

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

    带有OData参数的
  1. GET https://graph.microsoft.com/v1.0/me/messages$search="john.doe@gmail.com"$select=subject,bodyPreviewreceivedDateTime,headers
  2. 然后,假设请求已发送回{J}输出的200代码:
  3. enter image description here

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

    问题

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

    问题2

    我对此提出建议,这是最好的方法,还是我采用这种技术在墙上?如果是,那么解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

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

Microsoft Graph提供了几种类型的扩展程序:Extended PropertiesOpen ExtensionsSchema Extension。每个都有自己的一组约束,因此值得对每个约束进行检查,以确定哪种最适合您的场景和架构。也就是说,根据您的描述,我怀疑Schema Extensions可能是最合适的。