有没有办法从共享文件中获得权限-OneDrive?

问题描述 投票:2回答:1

如何使用GraphAPI获取OneDrive上文件[[与我共享的权限详细信息?

我尝试了以下代码,但是权限值为null。

IDriveSharedWithMeCollectionPage driveItems = await graphClient.Me.Drive.SharedWithMe().Request(requestOptions) .WithUserAccount(ClaimsPrincipal.Current.ToGraphUserAccount()) .GetAsync();

有什么方法可以通过我的共享文件中的GraphAPI获取诸如读/写或只读的权限详细信息?

权限显示在OneDrive的Manage Access选项处,但是如何使用API​​获取详细信息?是否可以通过使用这样的API来获取那些数据?

c# microsoft-graph onedrive azure-ad-graph-api
1个回答
0
投票
我还没有尝试过,但是我猜想权限是特定于驱动器项目的,只有在获取驱动器后才能获得它。您可以像下面这样获得共享的项目:

GraphServiceClient graphClient = new GraphServiceClient( authProvider ); var sharedWithMe = await graphClient.Me.Drive .SharedWithMe() .Request() .GetAsync();

然后是:

GraphServiceClient graphClient = new GraphServiceClient( authProvider ); var permissions = await graphClient.Me.Drive.Items["{item-id}"].Permissions .Request() .GetAsync();

DriveItem的权限关系不能作为获取DriveItem或DriveItems集合的调用的一部分进行扩展。您必须直接访问权限属性。

DriveItem的有效共享权限可以来自两个来源:

  • 共享权限直接应用于DriveItem本身。
  • 从DriveItem的祖先继承的共享权限。

附加参考:

https://docs.microsoft.com/en-us/graph/api/driveitem-list-permissions?view=graph-rest-1.0&tabs=http

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.