Office365 Outlook REST API不会返回所有邮件

时间:2016-03-21 22:51:17

标签: rest powershell outlook office365 outlook-restapi

我正在使用Office365并尝试使用以下Powershell命令在邮件文件夹中获取邮件数量:

( Invoke-RestMethod -Method get -Uri ("https://outlook.office365.com/api/beta/me//Messages/") -Credential $UserCredential ).Count

我正在使用的邮箱总共有598条消息,但上面的命令只返回10

如果我采用另一种方法并使用以下命令,我会得到266条消息:

Invoke-RestMethod -Method get -Uri ("https://outlook.office365.com/api/beta/me//Messages/`$count") -Credential $UserCredential

有没有办法使用REST API在Office365中递归地获取所有消息?如果是,我做错了什么?

亲切的问候

尤里

1 个答案:

答案 0 :(得分:2)

API me/messages不会一次返回所有消息,默认长度为10。

要获取所有消息,您可以使用$top and $skip

例如:me/Messages?$top=20将获得前20条消息,me/Messages?$skip=20&$top=20将获得接下来的20条消息。