我使用Microsoft Graph浏览用户OneDrive文件夹和文件(根据Microsoft Graph的DriveItem)。当我收到DriveItem信息时,我尝试读取它的所有者:姓名和电子邮件。
对于共享文件/文件夹,我使用Item.Shared.Owner.User.Id
,对于本地文件/文件夹,我使用Item.CreatedBy.User.Id
。对于此ID,我可以阅读用户的信息:
GraphServiceClient.Users[Id].Request().GetAsync();
但是,我有远程DriveItem的问题。据我所知,起初我应该通过RemoteItem structure的数据读取远程项目信息。 所以,起初我读了它:
var remote = await 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远程项目的所有者信息?
答案 0 :(得分:0)
看起来GraphServiceClient.Users[RemoteOwnerId].Request().GetAsync()
似乎无法用于接收有关远程DriveItem
所有者的信息。
并且所有信息都应该按要求返回:
var remote = await GraphServiceClient.Drives[RemoteDriveId].Items[RemoteItemId].Request().GetAsync();
但是,Microsoft Graph v1.0
返回空remote.Shared.Owner.User
。只有Microsoft Graph beta
以填充的displayName
返回此结构!错误?
下一个问题:如何接收远程项目所有者的电子邮件和照片?