【问题标题】:Get all messages from Outlook API从 Outlook API 获取所有邮件
【发布时间】:2018-09-05 15:24:43
【问题描述】:

我正在使用 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 大小才能返回有效请求?

【问题讨论】:

    标签: outlook-restapi outlook-api


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

    【讨论】:

    • 非常感谢您参与其中。我似乎确实通过插入日期搜索过滤器来解决这个问题,然后它会正确分页。
    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2012-06-06
    • 2018-07-08
    相关资源
    最近更新 更多