Outlook REST API - getFolders 未返回所有文件夹

Outlook REST API - getFolders not returning all folders

我刚刚开始使用 Outlook REST API。我的基线是使用node-outlook的教程。

首要任务是检索我的邮件帐户中的所有文件夹。

所以我发出这个 REST 请求:

GET https://outlook.office.com/api/v2.0/Me/MailFolders

它没有返回我的所有文件夹,它只返回 returns“众所周知”的文件夹:

Clutter
Deleted Items
Drafts
Inbox
Junk Email
Outbox
Sent Items
Trash

我是否遗漏了查询参数或类似“不,真的,请全部”的内容?

更新

我尝试了一个不同的电子邮件帐户,我也没有得到我所有的实际文件夹,但我得到了一个不同的子集(其中一些是众所周知的,另一些不是)。

我正在实施分页协议(使用@nextLink 参数)所以这不是页面大小的问题。我在一个帐户上得到这 8 个文件夹,在另一个帐户上得到 18 个文件夹。

所以必须有一些东西决定返回哪些文件夹。

更新 2

我改为使用“测试版”API 进行文件夹同步。在这种情况下,我还在列表中得到一个未命名的文件夹,它是其他文件夹的父文件夹。它带有一个准确的 ChildFolderCount。但是,当我对该文件夹 ID 执行子文件夹请求时,我得到了相同的列表。

更新 3

这是我在尝试读取一个返回非零 ChildFolderCount 的文件夹的子文件夹时使用的请求 url。

GET https://outlook.office.com/api/beta/Me/MailFolders/AAMkADRmMzFmNjZmLWU3MjctNGZiNi1iZTg4LTRmNGQwYTVhMDgxYgAuAAAAAAB8IxaZ5KGbQom4EPywGCSdAQDVy0eYwAzLS63k5pohzykCAAAAAAEJAAA=/childfolders

这里似乎定义了此 API 返回的文件夹和不返回的文件夹:

  • 如果我直接在 outlook webmail 上在 office365 中创建一个文件夹,它会出现在这个查询中。

  • 如果我在 Mac 邮件中创建文件夹,它不会。

Mac Mail 使用 EWS 访问该服务,因此我希望它创建的文件夹与任何其他文件夹一样。

所以在 Mac 邮件上创建的文件夹有些东西阻止它们被此 API 返回。

在 Mac 邮件中创建的文件夹会显示在网络邮件中,反之亦然。

在 iPhone 上创建的文件夹确实会出现,因此在我的有限测试中,Mac 邮件似乎是唯一遇到此问题的应用程序。我遇到的问题是我的大部分文件夹都是在 Mac Mail 中创建的,我没有简单的方法来重建它们。

我认为这只是 API 中的一个 BUG。无论如何,这回答了我最初的问题,应该可以帮助任何尝试使用新 API.

的人

如果我找到解决方法,我会 post 放在这里。