OneDrive API(休息)。驱动器上的文件夹和文件

OneDrive API (rest) . Folders and Files on Drives

我尝试与 OneDrive 集成,使用 API https://dev.onedrive.com/getting-started.htm

我使身份验证工作,我可以获得帐户中的驱动器列表。 当我执行 API 调用 /me/drives 时,我得到了驱动器列表。

但我找不到如何获取驱动器上的文件夹列表、文件夹的子文件夹等。

从文档中我可以看到有一些 API 用于此,但它对我不起作用。 https://dev.onedrive.com/items/list.htm

我必须执行。

GET /drive/items/{item-id}/children
GET /drive/root:/{item-path}:/children

但是没有用。我有一个驱动器列表中的驱动器 ID。当我执行 获取 /drive/items/DRIVEID/children 我有错误 "Access denied. You do not have permission to perform this action or access this resource."

这个操作怎么做?我应该使用驱动器 ID 还是名称?也许 url 是错误的,如果我有驱动器名称和 ID,那么正确的 url 是什么?

/drive/drives/<driveidofcaller> 的简写。当您尝试查询其他人的驱动器时,您需要 /drives/DRIVEID,因此扩展到您的示例,您需要类似的东西:

GET /drives/DRIVEID/root/children

我找到了如何做到这一点。要了解我必须安装一些其他工具,其中使用 OneDrive API 并使用 https 嗅探器调试流量。

所以,如果端点是 https://graph.microsoft.com/v1.0/me/ 那么路径是

/drives/DRIVEID/root/children

驱动器的根目录

/drives/DRIVEID/root:myfolder/subfolder:/children

文件夹 myfolder/subfolder

最终url就像

https://graph.microsoft.com/v1.0/me/drives/DRIVEID/root:myfolder/subfolder:/children