【问题标题】:Microsoft Graph List Permissions not showing all Permission resourcesMicrosoft Graph 列表权限未显示所有权限资源
【发布时间】:2018-09-26 15:20:19
【问题描述】:

我正在调用 DriveItem List Permissions 端点,但它并未显示所有 Permission 资源

下面的DriveItem 称为<my-drive-id> 具有226 个用户的共享权限设置。

如果我用/drives/<my-drive-id>/root/permissions 调用端点,我总是会在值列表中返回 31 个权限对象。

如果我用/drives/<my-drive-id>/items/<my-item-id>/permissions(对于根目录中的文件夹)调用端点,我总是会在值列表中返回 101 个权限对象。

这是我所做的:我转到 SharePoint 库的设置页面并选择“此文档库的权限”。接下来,我点击了“授予权限”链接。这弹出了一个“邀请人”对话框,我邀请了 226 人。这导致图书馆有 226 个权限条目。现在,当我为库根的权限调用 Graph API 时,我获得了实际 SharePoint 权限页面上显示的 226 个权限的前 31 个权限。也就是说,我得到了我在“邀请人”对话框中邀请的前 31 人。返回值列表中的权限对象看起来是正确的,但列表在 31 个条目后被截断。

如何确保我取回所有预期的 226 个权限对象?

【问题讨论】:

  • 修正一些错别字:
  • 如果我使用“/drives/{my-drive-id}/root/permissions”调用端点,我总是会在值列表中返回 31 个权限对象。
  • 如果我使用“/drives/{my-drive-id}/items/{my-item-id}/permissions”调用端点,我总是会在值列表中返回 101 个权限对象。
  • 你的226个用户和226个权限对象是什么意思?
  • 请编辑您的问题并附上您看到的输出示例。

标签: microsoft-graph-api onedrive


【解决方案1】:

API 已返回有效的共享权限。正如文档所述,每个文件夹级别或 item level 都有不同的有效共享权限:

列出 DriveItem 上的有效共享权限。

您可以尝试附加 $top。由于我刚刚订阅了 25 个用户的 O365 试用版,所以我无法尝试完全重现您的场景:

https://graph.microsoft.com/v1.0/drives/{drive-id?}$top=3

您似乎有“停止继承权限”并使用“授予权限”作为库权限,您可以在站点级别为您的库创建一个用户组并重试吗?如果 API 仍然返回与现在相同的结果,则可能是 SharePoint Online 错误或图形设计问题(我们自己不确定)。

【讨论】:

  • 感谢您的回复。但是,我不明白你的意思。由于根文件夹和子文件夹(上面用 {my-item-id} 表示)都具有完全相同的 226 权限,因此在我看来,使用 Graph API 获取它们的权限应该返回完全相同的 226 权限对于根文件夹及其子文件夹。 (请参阅上面我在原始帖子的评论中添加的评论。)
  • 用户和权限是不同的东西。您添加了 226 个用户,但您想获得权限。您混淆了这两个概念。
  • 不只是为了权限,如果你调用搜索或其他API,根文件夹和子文件夹也应该返回不同的值。
  • 我可能没有正确使用我的条款。我转到 SharePoint 库的设置页面并选择“此文档库的权限”。接下来,我点击了“授予权限”链接。这弹出了一个“邀请人”对话框,我邀请了 226 人。这导致图书馆有 226 个权限条目。现在,当我为库根的权限调用 Graph API 时,我获得了实际 SharePoint 权限页面上显示的 226 个权限的前 31 个权限。也就是说,我在“邀请人”对话框中获得了我邀请的前 31 人。
  • 我得到的结果与您建议的测试完全相同(前 31 个权限都是返回的)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多