使用 Outlook REST 实现邮件文件夹对话视图的最佳方式 API
Best way to achieve Conversation view for mail folder using Outlook REST API
我想使用 Outlook REST API 来显示邮件文件夹中的邮件并按对话对邮件进行分组,就像您在任何现代网络邮件中所做的那样。
例如 inbox
,我会请求使用第一个查询,例如 <mailuri>/inbox/messages?$select=ConversationId
(默认情况下它是反向时间顺序)
将此请求结果按 ConversationId
分组是不够的,因为某些电子邮件可能不在 inbox
(想想 sentmails
)中,或者它们可能被分页而未返回第一页。
因此,对于每个不同的 ConversationId
,我需要执行另一个 REST 请求,以检索参与者或简单地计算对话中的电子邮件。我可能会使用新的 batch request 来执行此操作。
涉及到很多请求。有更好的解决方案吗?
正如您可能已经意识到的那样,REST API 并不直接提供一种将对话作为一个实体来处理的方法。这是我们在路线图上要改进的地方。
根据 API 的当前状态,您所描述的基本上是正确的方法。您可以将第二个请求推迟到 "fill in" 对话,直到用户选择它。
您实际上可以使用此端点来涵盖收件箱和已发送的项目
https://outlook.office.com/api/v2.0/me/messages/?$select=ConversationId & $filter=ConversationId eq '${params.conversationId}'
我想使用 Outlook REST API 来显示邮件文件夹中的邮件并按对话对邮件进行分组,就像您在任何现代网络邮件中所做的那样。
例如 inbox
,我会请求使用第一个查询,例如 <mailuri>/inbox/messages?$select=ConversationId
(默认情况下它是反向时间顺序)
将此请求结果按 ConversationId
分组是不够的,因为某些电子邮件可能不在 inbox
(想想 sentmails
)中,或者它们可能被分页而未返回第一页。
因此,对于每个不同的 ConversationId
,我需要执行另一个 REST 请求,以检索参与者或简单地计算对话中的电子邮件。我可能会使用新的 batch request 来执行此操作。
涉及到很多请求。有更好的解决方案吗?
正如您可能已经意识到的那样,REST API 并不直接提供一种将对话作为一个实体来处理的方法。这是我们在路线图上要改进的地方。
根据 API 的当前状态,您所描述的基本上是正确的方法。您可以将第二个请求推迟到 "fill in" 对话,直到用户选择它。
您实际上可以使用此端点来涵盖收件箱和已发送的项目
https://outlook.office.com/api/v2.0/me/messages/?$select=ConversationId & $filter=ConversationId eq '${params.conversationId}'