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