【问题标题】:How do I locate email threads using Microsoft Graph SDK?如何使用 Microsoft Graph SDK 定位电子邮件线程?
【发布时间】:2020-11-05 18:22:43
【问题描述】:

我想使用 Microsoft Graph SDK 发送电子邮件。然后,当收件人回复电子邮件时,我想将回复与发送的消息相关联。

所以我发送了一条消息使用

GraphClient.Users[userId].SendMail(message, true).Request().PostAsync();

然后让用户回复它。当我通过

阅读发送和接收的消息时
GraphClient.Users[userId].MailFolders[{folderName}].Messages...;

我发现两者的ConversationId 属性是相同的。我有以下问题:

  1. ConversationId 是我关联电子邮件的机制吗?
  2. 当我执行GraphClient.Users[userId].SendMail(message, true).Request().PostAsync()时,有没有办法取回刚刚发送的消息的ConversationId
  3. 我不想投票,那么有没有办法连接到 Azure,当收到某个用户的电子邮件时它会通知我?
  4. 如果 #3 是“是”,我可以加入它,以便它只通知我特定 ConversationId 的回复到达?

【问题讨论】:

    标签: c# azure microsoft-graph-api microsoft-graph-sdks microsoft-graph-mail


    【解决方案1】:
    1. ConversationId 可用于关联属于特定电子邮件线程的所有电子邮件。如果您想知道某封电子邮件是否是对线程中另一封电子邮件的回复,请使用 In-Reply-to 标头。您可以通过请求 InternetHeaders https://docs.microsoft.com/en-us/graph/api/resources/internetmessageheader?view=graph-rest-1.0 来获取 In-Reply-To 标头(这将返回所有标头),或者您可以请求扩展属性以仅获取该属性,例如

    https://graph.microsoft.com/v1.0/users('user@domain.com')/MailFolders('Inbox')/messages/?$select=ReceivedDateTime,Sender,Subject,IsRead,inferenceClassification,InternetMessageId,parentFolderId,hasAttachments,webLink&$Top=10&$expand=SingleValueExtendedProperties($filter=(Id%20eq%20'String%200x1042'))
    1. Exchange 中的发送始终是异步的(这是图表所使用的),因此它们返回 Void(或在图表中接受)。因此,如果您想要 conversationId,您将需要另一个请求来查找 SentMessage 并从那里提取它。一种方法是您可以在您发送的消息上设置 InternetMessageId 或创建您自己的扩展属性,例如讨论这些选项https://github.com/microsoftgraph/microsoft-graph-docs/issues/3766

    3,4 订阅 Webhooks https://docs.microsoft.com/en-us/graph/api/resources/webhooks?view=graph-rest-1.0 可以很好地解决此问题,但创建过滤器(例如在coverageId 或 In-reply-To 上)的功能仍在积压中(AFAIK)https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/19081306-add-select-and-filter-to-webhook-resource-subs

    【讨论】:

    • 昨天,ConversationId 在发送和回复消息之间匹配。但今天不是。我错过了一些基本的东西吗?
    • 我还查看了响应消息的回复标头,但没有看到任何有用的信息。 i.imgur.com/RWMntwK.png
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多