我使用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远程项目的所有者信息?
是否有可能主叫身份是真正创建您正在查询的远程项目的身份? – Brad
@Brad,是在查询前30分钟创建新项目,但其所有者是旧的OneDrive用户。这是问题吗? – 23W
我使用正确的API方法吗?将'GraphServiceClient.Users [RemoteOwnerId] .Request()。GetAsync();'返回所有者帐户信息? – 23W