私は、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リモートアイテムの所有者情報を受け取る方法は?
あなたは照会しているリモートアイテムを実際に作成したアイデンティティである可能性がありますか? – Brad
@Brad、はい、新しいアイテムはクエリの30分前に作成されましたが、その所有者は古いOneDriveユーザーです。それは問題ですか? – 23W
正しいAPIメソッドを使用しますか? 'GraphServiceClient.Users [RemoteOwnerId] .Request()。GetAsync();'オーナーアカウント情報を返しますか? – 23W