OneDrive Api - 项目与谁共享?
OneDrive Api - With whom the item is shared?
在 OneDrive Business 帐户中,我共享了文件和文件夹,我正在尝试获取共享项目的 emails/users 列表。
两者都
https://graph.microsoft.com/v1.0/me/drive/sharedWithMe
和
https://graph.microsoft.com/v1.0/me/drive/root/children
两者产生的结果相似。我得到了文件列表,但是 属性 Permissions
永远不会出现。我所看到的只是项目 是否 共享,但不与 whom.
共享
现在,我知道 /drive/items/{fileId}/permissions
,但这意味着要逐一检查文件。我的应用程序处理大量文件,我非常希望有一种方法可以批量获取软管权限...
有这样的选项吗?
/sharedWithMe
实际上与您要查找的相反。这些不是您与他人共享的文件,而是其他人与 您 共享的文件。
至于你的具体场景,很遗憾permissions
不支持合集。换句话说,不可能在 /children
集合上 $epand=permissions
。每个文件都需要单独检查。
您 可以 但是通过查看 shared 属性 可以减少您需要检查的文件数量。例如,如果 scope
属性 设置为 user
,您就知道此文件已与特定用户共享。如果 shared
属性 是 null
,则您知道此文件仅对当前用户可用。
您还可以使用 JSON Batching 来减少拨打电话的次数。在构建要检查的共享文件列表后,您可以使用 Batching 以 20 个为一组来处理它们。这应该会大大减少开销并显着提高整体性能。
_api/web/onedriveshareditems?$top=100&$expand=SpItemUrl
可能就可以了。这是 OneDrive 的 Web 界面使用的 URL。希望对你有帮助
在 OneDrive Business 帐户中,我共享了文件和文件夹,我正在尝试获取共享项目的 emails/users 列表。
两者都
https://graph.microsoft.com/v1.0/me/drive/sharedWithMe
和
https://graph.microsoft.com/v1.0/me/drive/root/children
两者产生的结果相似。我得到了文件列表,但是 属性 Permissions
永远不会出现。我所看到的只是项目 是否 共享,但不与 whom.
现在,我知道 /drive/items/{fileId}/permissions
,但这意味着要逐一检查文件。我的应用程序处理大量文件,我非常希望有一种方法可以批量获取软管权限...
有这样的选项吗?
/sharedWithMe
实际上与您要查找的相反。这些不是您与他人共享的文件,而是其他人与 您 共享的文件。
至于你的具体场景,很遗憾permissions
不支持合集。换句话说,不可能在 /children
集合上 $epand=permissions
。每个文件都需要单独检查。
您 可以 但是通过查看 shared 属性 可以减少您需要检查的文件数量。例如,如果 scope
属性 设置为 user
,您就知道此文件已与特定用户共享。如果 shared
属性 是 null
,则您知道此文件仅对当前用户可用。
您还可以使用 JSON Batching 来减少拨打电话的次数。在构建要检查的共享文件列表后,您可以使用 Batching 以 20 个为一组来处理它们。这应该会大大减少开销并显着提高整体性能。
_api/web/onedriveshareditems?$top=100&$expand=SpItemUrl
可能就可以了。这是 OneDrive 的 Web 界面使用的 URL。希望对你有帮助