2017-02-24 14 views
0

私は、Microsoft Graphを使用して、OneDriveのフォルダとファイル(Microsoft Graphに関してDriveItem)を表示します。 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の所有者に関する情報を受け取るために使用することはできません。 v1.0リターンがremote.Shared.Owner.Userを空 var remote = await GraphServiceClient.Drives[RemoteDriveId].Items[RemoteItemId].Request().GetAsync();

しかし、マイクロソフトグラフ: そして、すべての情報は、要求によって返されるべきです。 Microsoft Graph betaのみがこの構造を返します。displayName!バグ?

次の質問:リモートアイテムの所有者の電子メールと写真を受け取る方法は?

関連する問題