C# 微软图形。如何接收所有者';s远程项目的信息
我使用Microsoft Graph来浏览用户OneDrive文件夹和文件(以Microsoft Graph表示的DriveItem)。当我收到DriveItem信息时,我会尝试读取其所有者:姓名和电子邮件。 对于我使用的共享文件/文件夹,对于我使用的本地文件/文件夹。对于此Id,我可以读取用户信息:C# 微软图形。如何接收所有者';s远程项目的信息,c#,onedrive,microsoft-graph-api,C#,Onedrive,Microsoft Graph Api,我使用Microsoft Graph来浏览用户OneDrive文件夹和文件(以Microsoft Graph表示的DriveItem)。当我收到DriveItem信息时,我会尝试读取其所有者:姓名和电子邮件。 对于我使用的共享文件/文件夹,对于我使用的本地文件/文件夹。对于此Id,我可以读取用户信息: GraphServiceClient.Users[Id].Request().GetAsync(); 但是,我对remote DriveItem有问题。我知道,首先我应该通过从中读取数据来读取远
GraphServiceClient.Users[Id].Request().GetAsync();
但是,我对remote DriveItem有问题。我知道,首先我应该通过从中读取数据来读取远程项目信息。
所以,首先我读了它:
var remote=wait GraphServiceClient.Drives[Item.RemoteItem.ParentReference.DriveId].Items[Item.RemoteItem.Id].Request().GetAsync();
然后我尝试获取远程项目所有者:
GraphServiceClient.Users[remote.CreatedBy.User.Id].Request().GetAsync();
但我收到的是登录用户信息,而不是远程所有者!仿佛我在呼唤:
GraphServiceClient.Me.Request().GetAsync();
为什么??以及如何接收OneDrive远程项目的所有者信息?看起来像
GraphServiceClient.Users[RemoteOwnerId].Request().GetAsync()代码>根本不能用于接收有关远程DriveItem
所有者的信息。
所有信息应通过请求返回:
var remote=await GraphServiceClient.Drives[RemoteDriveId].Items[RemoteItemId].Request().GetAsync()代码>
但是,MicrosoftGraphv1.0
返回空的remote.Shared.Owner.User
。只有Microsoft Graphbeta
返回此结构并填充displayName
!臭虫
下一个问题:如何为远程项目的所有者接收电子邮件和照片?是否有可能主叫身份就是实际创建您正在查询的远程项目的身份?@Brad,是的,新项目是在查询前30分钟创建的,但其所有者是旧的OneDrive用户。这有问题吗?我使用正确的API方法吗?将GraphServiceClient.Users[RemoteOwnerId].Request().GetAsync()代码>返回所有者帐户信息?驱动器
对象应该有一个可用于您的目的的所有者
属性。@Brad,对于用户默认驱动器,所有者
已填充,而对于远程驱动器则为空。