2017-02-24 88 views
0

我使用Microsoft Graph浏览用户的OneDrive文件夹和文件(DriveItem根据Microsoft Graph)。当我收到DriveItem信息时,我会尝试阅读其所有者:姓名和电子邮件。 对于共享文件/文件夹我使用Item.Shared.Owner.User.Id,对于本地文件/文件夹我使用Item.CreatedBy.User.Id。对于这个ID,我可以读取用户的信息:Microsoft Graph。如何接收所有者的远程项目信息

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

是否有可能主叫身份是真正创建您正在查询的远程项目的身份? – Brad

+0

@Brad,是在查询前30分钟创建新项目,但其所有者是旧的OneDrive用户。这是问题吗? – 23W

+0

我使用正确的API方法吗?将'GraphServiceClient.Users [RemoteOwnerId] .Request()。GetAsync();'返回所有者帐户信息? – 23W

回答

0

看起来像GraphServiceClient.Users[RemoteOwnerId].Request().GetAsync()‌根本不能用于接收关于远程DriveItem的所有者的信息。 和所有信息应要求退货: var remote = await GraphServiceClient.Drives[RemoteDriveId].Items[RemoteItemId].Request().GetAsync();

但是,微软图形v1.0返回空remote.Shared.Owner.User。只有Microsoft Graph beta返回此结构填充displayName!错误?

下一个问题:如何接收远程项目所有者的电子邮件和照片?

相关问题