MS Graph API响应不返回它应该的所有数据项

时间:2018-06-02 08:36:20

标签: microsoft-graph outlook-restapi

我的目的是建立一个机器学习计划,通过阅读以前的所有电子邮件历史记录,提供存档电子邮件项目的建议。

为此,我正在尝试阅读以下所有电子邮件:

https://graph.microsoft.com/beta/me/messages

首先,我使用/messages?$count=true获取帐户中的电子邮件总数,并返回1881作为结果。

然后我试图使用以下方式获取所有1881项:

https://graph.microsoft.com/beta/me/messages?$top=1881

但问题是返回976个电子邮件项目。电子邮件的其余部分在哪里?我怎么能找到它们?

1 个答案:

答案 0 :(得分:3)

您的回复中是否有@odata:nextLink个属性?

如果是这种情况,您可能需要使用skiptoken参数发送另一个请求。它应包含@odata:nextLink响应属性的值。

在“分页”文档页面 - https://developer.microsoft.com/en-us/graph/docs/concepts/paging - 指定不同的API具有不同的最大页面大小。获取电子邮件的端点可能不支持页面大小为1881.在这种情况下,您可能需要访问结果的第二页。

另一个建议是将Beta端点替换为V1 API调用,因为me/messages也可用 - https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list_messages