从 Outlook API 获取所有邮件

Get all messages from 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. count 返回 -1 是否有原因,有没有办法获得返回消息数量的准确数字?
  3. 是否需要传递最大 $top 大小才能返回有效请求?
  1. 是的,但要知道除了所有其他邮件文件夹之外,它还包括草稿、已删除邮件和已发送邮件。
  2. 这是 /me/messages 的一个已知问题。基本上 /me/messages 提供所有文件夹中所有消息的方式是使用动态更新的搜索文件夹。 API 不报告搜索文件夹的准确计数(通常只是 returns -1)。
  3. 最高$top应该是1000。