Microsoft Graph API:是否可以遍历文件夹的递归

问题描述 投票:1回答:1

我们正在从邮件EWS转换为Microsoft Office 365 Graph API,

我想将我的所有文件夹树平放到平面文件夹列表中,因此列表中的每个条目都应包含:

Folder:{parentId, myId} , ...

我在测试版中看到有一个选项可以遍历:

https://graph.microsoft.com/beta/me/mailFolders/inbox?$top=50&$expand=childFolders($levels=5)

但不幸的是我只获得了第一级......

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('4ed9f9bf-cfea-47de-ba2c-e4323d2dd600')/mailFolders/$entity",
    "id": "AQMkAGM5MDIzODk0LTg2NgBjLTQxN2EtOTNmMC0wYWY4M2VkMTg1MWEALgAAAxfTs4ItP_BBtfaokkhWqiMBAJ1RfNBJd7VOqHUq_F8aPdIAAAIBDQAAAA==",
    "displayName": "Inbox",
    "parentFolderId": "AQMkAGM5MDIzODk0LTg2NgBjLTQxN2EtOTNmMC0wYWY4M2VkMTg1MWEALgAAAxfTs4ItP_BBtfaokkhWqiMBAJ1RfNBJd7VOqHUq_F8aPdIAAAIBCQAAAA==",
    "childFolderCount": 1,
    "unreadItemCount": 307,
    "totalItemCount": 320,
    "wellKnownName": "inbox",
    "[email protected]": "https://graph.microsoft.com/beta/$metadata#users('4ed9f9bf-cfea-47de-ba2c-e4323d2dd600')/mailFolders('AQMkAGM5MDIzODk0LTg2NgBjLTQxN2EtOTNmMC0wYWY4M2VkMTg1MWEALgAAAxfTs4ItP_BBtfaokkhWqiMBAJ1RfNBJd7VOqHUq_F8aPdIAAAIBDQAAAA%3D%3D')/childFolders",
    "childFolders": [
        {
            "id": "AAMkAGM5MDIzODk0LTg2NmMtNDE3YS05M2YwLTBhZjgzZWQxODUxYQAuAAAAAAAX07OCLT-gQbX2qJJIVqojAQCdUXzQSXe1Tqh1KvhfGj3SAAOojCnvAAA=",
            "displayName": "LEVEL_1",
            "parentFolderId": "AQMkAGM5MDIzODk0LTg2NgBjLTQxN2EtOTNmMC0wYWY4M2VkMTg1MWEALgAAAxfTs4ItP_BBtfaokkhWqiMBAJ1RfNBJd7VOqHUq_F8aPdIAAAIBDQAAAA==",
            "childFolderCount": 1,
            "unreadItemCount": 0,
            "totalItemCount": 0,
            "wellKnownName": null
        }
    ]
}

是否有一个很好的API与O-Data或其他遍历算法(如在EWS - 深度遍历),所以我可以减少我的其余API调用...

谢谢=]

microsoft-graph office365api outlook-restapi
1个回答
2
投票

Microsoft Graph API中没有深层文件夹遍历调用。您需要扩展每个级别。你可能想为此打开一个feature request

话虽如此,您可以使用batch feature来减少为获取文件夹层次结构而必须进行的调用次数。只要文件夹层次结构不超过任何级别的20个文件夹,您就可以进行单个批处理调用以跨层次结构获取给定级别的所有文件夹(请参阅batch restrictions)。您想要在任何级别帐户超过20个文件夹。

关于执行此操作的算法,我没有看到这种情况,因此您可能是使用批处理算法的Microsoft Graph深层文件夹遍历的创建者。

© www.soinside.com 2019 - 2024. All rights reserved.