2017-02-24 42 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!錯誤?

下一個問題:如何接收遠程項目所有者的電子郵件和照片?

相關問題