[英]Outlook REST API - getFolders not returning all folders
我刚刚开始使用Outlook REST API。 我的基线是使用节点外观的教程。
首先要做的是检索我的邮件帐户中的所有文件夹。
因此,我发出了这个REST请求:
GET https://outlook.office.com/api/v2.0/Me/MailFolders
而不是返回我的所有文件夹,它仅返回“知名”文件夹:
Clutter
Deleted Items
Drafts
Inbox
Junk Email
Outbox
Sent Items
Trash
我是否缺少查询参数或说“不,真的,请所有人”的内容?
我尝试了一个不同的电子邮件帐户,但我也没有得到所有实际的文件夹,但得到了一个不同的子集(其中一些是众所周知的,而另一些则不是)。
我正在实现分页协议(使用@nextLink参数),所以这与页面大小无关。 我在一个帐户上获得了这8个文件夹,在另一个帐户上获得了18个文件夹。
因此,必须有一些决定将返回哪些文件夹的内容。
我改为使用“ beta” API进行文件夹同步。 在这种情况下,我还会在列表中得到一个未命名的文件夹,该文件夹是其他文件夹的父文件夹。 它带有一个准确的ChildFolderCount。 但是,当我对该文件夹ID进行子文件夹请求时,会得到相同的列表。
这是当我尝试读取带有非零ChildFolderCount的一个文件夹的子文件夹时使用的请求url。
GET https://outlook.office.com/api/beta/Me/MailFolders/AAMkADRmMzFmNjZmLWU3MjctNGZiNi1iZTg4LTRmNGQwYTVhMDgxYgAuAAAAAAB8IxaZ5KGbQom4EPywGCSdAQDVy0eYwAzLS63k5pohzykCAAAAAAEJAAA=/childfolders
以下是定义此API返回哪些文件夹以及不定义哪些文件夹的内容:
如果我直接在Outlook Webmail上的Office365中创建一个文件夹,它将显示在此查询中。
如果我在Mac Mail中创建一个文件夹,则不会。
Mac Mail使用EWS访问该服务,因此我希望它创建的文件夹将与其他任何文件夹一样。
因此,有一些关于在Mac Mail上创建的文件夹的问题,这些文件夹阻止此API返回它们。
Mac Mail DO中创建的文件夹显示在Web邮件中,反之亦然。
在iPhone DO上创建的文件夹会显示出来,因此在我的有限测试中,看起来Mac Mail可能是遭受此问题的唯一应用程序。 我遇到的问题是我的大多数文件夹都是在Mac Mail中创建的,我没有简单的方法来重建它们。
我认为这只是API中的一个BUG。 无论如何,这可以回答我的原始问题,并且应该可以帮助任何尝试使用新API的人。
如果找到解决方法,请在此处发布。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.