gpt4 book ai didi

c# - 如何使用 Microsoft Graph SDK 查找电子邮件线程?

转载 作者:行者123 更新时间:2023-12-03 05:32:04 25 4
gpt4 key购买 nike

我想使用 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 为"is",我是否可以挂接它,以便它仅在特定 ConversationId 收到回复时通知我?

最佳答案

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

https://graph.microsoft.com/v1.0/users('<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9beee8fee9dbfff4f6faf2f5b5f8f4f6" rel="noreferrer noopener nofollow">[email protected]</a>')/MailFolders('Inbox')/messages/?$select=ReceivedDateTime,Sender,Subject,IsRead,inferenceClassification,InternetMessageId,parentFolderId,hasAttachments,webLink&$Top=10&$expand=SingleValueExtendedProperties($filter=(Id%20eq%20'String%200x1042'))

  • 在 Exchange 中发送始终是异步的(这就是图表所使用的),因此它们返回 Void(或在图表中接受)。因此,如果您想要对话 ID,您将需要另一个请求来查找 SentMessage 并从那里提取它。实现此目的的一种方法是您可以在发送的消息上设置 InternetMessageId 或创建您自己的扩展属性,例如,这些选项已在 https://github.com/microsoftgraph/microsoft-graph-docs/issues/3766 中讨论过。
  • 3,4 订阅 Webhooks https://learn.microsoft.com/en-us/graph/api/resources/webhooks?view=graph-rest-1.0是对此很有效的方法,但创建过滤器的能力(例如在coversationId或In-reply-To上)仍然处于积压状态(AFAIK)https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/19081306-add-select-and-filter-to-webhook-resource-subs

    关于c# - 如何使用 Microsoft Graph SDK 查找电子邮件线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64703173/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com