【问题标题】:Microsoft Graph API Get all Permissions for libraryMicrosoft Graph API 获取库的所有权限
【发布时间】:2021-01-22 18:02:33
【问题描述】:

我正在尝试获取该库的所有权限列表。但它看起来与我在 UI 部分看到的以及我使用 Microsoft Graph 检索到的不同。

 var permissions = graphClient.Drives[drive.Id].Root.Permissions.Request().GetAsync();

它返回一个权限列表。但是对于图书馆,我们有“有限访问”的用户和组。

如果我将循环访问库中的每个项目并获取结果列表中每个项目的权限,那么结果列表中的每个项目也将不完整。 有人知道怎么解决的吗?

【问题讨论】:

  • 您能分享/翻译一下您在上面注意到的错误吗?
  • 例如,使用 UI 显示 2 个组和 1 个用户。当我使用 Graph API 时,它会返回所有这些数据 + 几个具有“所有者”权限的用户。如果在 UI 中,我将转到图片“显示访问受限的用户”中的链接。 UI 向我显示了 14 个组/用户,其中大多数的权限级别是“有限访问”。但是 Graph Api 不会给出这个列表。只有具有所有者、读取、写入权限的用户,但此列表中没有具有“受限访问权限”的用户

标签: .net sharepoint microsoft-graph-api sharepoint-online


【解决方案1】:

很遗憾,您将无法获得更高级别的权限 - 您必须遍历每个项目并在项目级别获得唯一权限,然后收集列表。

您提到过,您可能无法获得完整列表 - 我可以想到会导致此问题的边缘。

/sites/{siteId}/drive/items/{itemId}/permissions

或者,如果您想了解所有用户 - 在站点级别 - 您可以使用 Sharepoint ReST API 查询用户信息列表。

   _api/Web/lists/getbytitle('User Information List')/getitems

您可以过滤所有活跃用户 - 这不会提供他们拥有的权限 - 但会提供添加到网站的用户列表。

【讨论】:

    最近更新 更多