我刚刚开始使用 Outlook REST API。我的基准是使用node-outlook的教程。
第一个任务是检索我的邮件帐户中的所有文件夹。
所以我发出这个 REST 请求:
GET https://outlook.office.com/api/v2.0/Me/MailFolders
它不会返回我的所有文件夹,而是只返回“众所周知”的文件夹:
Clutter
Deleted Items
Drafts
Inbox
Junk Email
Outbox
Sent Items
Trash
我是否缺少查询参数或“不,真的,请全部”的内容?
UPDATE
我尝试了不同的电子邮件帐户,并且也没有获得所有实际文件夹,但我获得了不同的子集(其中一些是众所周知的,另一些则不是)。
我正在实现分页协议(使用@nextLink参数),所以这不是页面大小的问题。我在一个帐户上获得这 8 个文件夹,在另一个帐户上获得 18 个文件夹。
因此必须有一些东西来决定将返回哪些文件夹。
UPDATE 2
我改为使用“beta”API 进行文件夹同步。在这种情况下,我还在列表中得到一个未命名的文件夹,它是其他文件夹的父文件夹。它附带了一个准确的 ChildFolderCount。但是,当我对该文件夹 ID 执行子文件夹请求时,我会得到相同的列表。
UPDATE 3
这是当我尝试读取返回非零 ChildFolderCount 的一个文件夹的子文件夹时使用的请求 url。
GET https://outlook.office.com/api/beta/Me/MailFolders/AAMkADRmMzFmNjZmLWU3MjctNGZiNi1iZTg4LTRmNGQwYTVhMDgxYgAuAAAAAAB8IxaZ5KGbQom4EPywGCSdAQDVy0eYwAzLS63k5pohzykCAAAAAAEJAAA=/childfolders
以下内容似乎定义了此 API 返回哪些文件夹和不返回哪些文件夹:
Mac Mail 使用 EWS 访问该服务,因此我希望它创建的文件夹与任何其他文件夹一样。
因此,在 Mac Mail 上创建的文件夹存在一些问题,导致该 API 无法返回这些文件夹。
在 Mac Mail 中创建的文件夹会显示在 Web 邮件中,反之亦然。
在 iPhone 上创建的文件夹确实会出现,因此在我有限的测试中,Mac Mail 可能是唯一遇到此问题的应用程序。我遇到的问题是我的大部分文件夹都是在 Mac Mail 中创建的,我没有简单的方法来重建它们。
我认为这只是 API 中的一个 BUG。无论如何,这回答了我最初的问题,并且应该可以帮助任何尝试使用新 API 的人。
如果我找到解决方法,我会将其发布在这里。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)