【问题标题】:OneDrive API (rest) . Folders and Files on DrivesOneDrive API(休息)。驱动器上的文件夹和文件
【发布时间】:2017-06-05 14:13:24
【问题描述】:

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

我使身份验证工作,我可以获得帐户中的驱动器列表。 当我执行 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 我有错误“拒绝访问。您无权执行此操作或访问此资源。”

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

【问题讨论】:

    标签: microsoft-graph-api onedrive


    【解决方案1】:

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

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

    /drives/DRIVEID/root/children
    

    驱动器的根目录

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

    对于文件夹我的文件夹/子文件夹

    最终的网址是这样的

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

    【讨论】:

    • 正是我需要的!谢谢。我必须修改您在此处的“最终网址”,以便在 /root 之后使用 / 使其对我有用:IE: /root:/myFolder:/children 然后它给了我该文件夹下的所有文件。跨度>
    【解决方案2】:

    /drive 是表示/drives/<driveidofcaller> 的快捷方式。当您尝试查询其他人的驱动器时,您需要/drives/DRIVEID,因此扩展到您的示例,您需要以下内容:

    GET /drives/DRIVEID/root/children
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-29
      • 2013-08-25
      • 2015-05-18
      • 2020-08-25
      • 2014-12-25
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多