2017-02-24 3 views
0

J'utilise Microsoft Graph pour parcourir les dossiers et fichiers OneDrive utilisateur (DriveItem en termes de Microsoft Graph). Lorsque je reçois des informations DriveItem, j'essaie de lire son propriétaire: nom et adresse e-mail. Pour le fichier/dossier partagé, j'utilise Item.Shared.Owner.User.Id, pour le fichier/dossier local, j'utilise Item.CreatedBy.User.Id. Pour cela Id Je peux lire les informations de l'utilisateur:Microsoft Graph. Comment recevoir des informations de propriétaire pour les articles à distance

GraphServiceClient.Users[Id].Request().GetAsync();

Mais, j'ai un problème pour DriveItem à distance. Je comprends que dans un premier temps, je devrais lire les informations sur les articles à distance par les données de RemoteItem structure. Donc, au début, je le lis:

var remote = await GraphServiceClient.Drives[Item.RemoteItem.ParentReference.DriveId].Items[Item.RemoteItem.Id].Request().GetAsync();

Puis-je essayer d'propriétaire de l'élément distant:

GraphServiceClient.Users[remote.CreatedBy.User.Id].Request().GetAsync();

Mais je reçois signé dans les informations utilisateur à la place du propriétaire à distance! Comme si je l'appelle:

GraphServiceClient.Me.Request().GetAsync();

Pourquoi? Et comment recevoir des informations sur le propriétaire des éléments distants OneDrive?

+0

Est-il possible que l'identité d'appel soit celle qui a réellement créé l'élément distant que vous interrogez? – Brad

+0

@Brad, oui nouvel article a été créé à 30 minutes avant la requête, mais son propriétaire est ancien utilisateur OneDrive. Est-ce un problème? – 23W

+0

Est-ce que j'utilise la bonne méthode API? Est-ce que 'GraphServiceClient.Users [RemoteOwnerId] .Request(). GetAsync();' retourner l'information du compte du propriétaire? – 23W

Répondre

0

On dirait que GraphServiceClient.Users[RemoteOwnerId].Request().GetAsync()‌ ne peut pas être utilisé pour recevoir des informations sur le propriétaire de la télécommande DriveItem du tout. Et toutes les informations doivent être retournés sur demande: var remote = await GraphServiceClient.Drives[RemoteDriveId].Items[RemoteItemId].Request().GetAsync();

Mais, Microsoft Graph v1.0 revient à vide remote.Shared.Owner.User. Seul Microsoft Graph beta renvoie cette structure avec rempli displayName! Punaise?

Question suivante: Comment recevoir des e-mails et des photos pour le propriétaire d'un objet distant?