从Outlook API获取所有邮件

时间:2017-12-12 21:55:29

标签: outlook-restapi outlook-api

我正在使用Outlook API,尝试访问包含~45,000条消息(以及其他文件夹,例如已发送邮件)的收件箱中的所有邮件。

我正在提出的主要要求是https://outlook.office.com/api/v2.0/me/messages。如果我添加?$ count = true,则"@odata.count"值将返回-1。

我可以在请求中添加$ top = 500,这会给我500条消息和"@odata.nextLink",但如果我传递$ top = 5000,那么我期望看到没有"@odata.nextLink"

如果有人可以提供帮助,可以在此处提出一些特殊问题:

  1. 这是尝试从所有文件夹中获取所有邮件的最佳方式吗?
  2. 是否存在计数返回-1的原因,是否有办法获得返回的邮件数量的准确数字?
  3. 我需要传递最大$ top大小才能获得有效请求吗?

1 个答案:

答案 0 :(得分:0)

  1. 是的,但除了所有其他邮件文件夹外,还要了解它包括草稿,已删除邮件和已发送邮件。
  2. 这是/me/messages的已知问题。基本上/me/messages通过所有文件夹提供所有邮件的方式是使用动态更新的搜索文件夹。 API不会报告搜索文件夹的准确计数(通常只返回-1)。
  3. 最高$top应为1000。