【问题标题】:Unable to access shared folder in one drive for business企业版无法访问一个驱动器中的共享文件夹
【发布时间】:2016-06-23 10:05:21
【问题描述】:

我们正在使用 onedrive api v2.0 构建一个应用程序。 但是在向 /me/drive/root/children 发出请求时,我们无法查看/访问任何其他用户共享给用户的文件夹。

有人可以建议如何访问某人共享的文件夹,因为我们的 api 将进一步在这些共享文件夹中创建文件夹和文件。

【问题讨论】:

    标签: onedrive


    【解决方案1】:

    共享文件不会显示在用户的驱动器中(在您的示例中是 /me/drive/root),但可以通过 sharedWithMe 视图获得:

    GET /drive/sharedWithMe

    这将返回已与驱动器所有者(或本例中的当前用户)共享的项目集合。返回的每个项目都将包含 remoteItem 属性,该属性包含对实际项目的引用。如果你想访问实际的项目,那么你需要构建一个这样的请求:

    GET /drives/{item.remoteItem.parentReference.driveId}/items/{item.remoteItem.id}

    这将访问实际的共享项目(而不是 sharedWithMe 返回的远程项目的链接)。

    在 OneDrive 开发门户上有更多关于 Shared With Me 的信息。

    【讨论】:

    • 尝试使用远程项目详细信息访问共享文件夹,但我们收到来自 api 的 404 响应。
    • 您的应用使用什么应用范围?对于 OneDrive for Business 或 SharePoint,Files.ReadWrite 将仅授予对用户数据的访问权限,而不授予对共享数据的访问权限。要访问共享文件,您需要使用 Files.ReadWrite.All 或 Sites.ReadWrite.All。
    • 我们正在使用 Files.readWrite 范围,我会尝试使用您提供的信息...谢谢..
    • 厌倦了新的范围仍然得到 404,尽管我能够使用 /me/drive/items/sharedWithMe 访问共享文件夹列表。
    【解决方案2】:

    greg 指定的请求工作正常。我不是关于 gregg 指定的范围,但要访问共享文件,您通过将当前用户添加为 SharePoint MySite 管理中的其他用户(在本例中为共享文件的用户)作为辅助管理员.

    我建议使用图形 API 从一个驱动器访问文件,因为与来自 onedrive api 的响应相比,响应更加一致。虽然两个 Ali 都需要二级管理员设置才能访问文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 2011-07-15
      • 2016-01-28
      • 2017-12-16
      • 2015-12-22
      相关资源
      最近更新 更多