Différences de point de terminaison de l’API OneDrive

L’API OneDrive est disponible à partir de plusieurs points de terminaison d’API différents. Microsoft Graph est le point de terminaison préféré pour accéder à OneDrive personnel, OneDrive Entreprise et aux fichiers en ligne SharePoint. Dans certains scénarios d’entreprise, tels que SharePoint Server 2016, il peut être nécessaire d’accéder aux données de OneDrive Entreprise et de SharePoint en utilisant le point de terminaison direct de l’API sans utiliser Microsoft Graph. Les notes suivantes fournissent des détails sur les différences que vous pouvez remarquer entre Microsoft Graph et le point de terminaison direct de l’API.

Différences :

Espaces de noms

Méthodes

Lorsque vous utilisez le point de terminaison direct, les méthodes et les actions nécessitent un préfixe d’espace de nom. Par exemple, pour utiliser sharedWithMe sur le point de terminaison direct, vous devez faire précéder le nom de l’action par oneDrive.. Notez que ce préfixe respecte la casse.

https://{server}/_api/v2.0/drive/oneDrive.sharedWithMe

Les actions ou les méthodes suivantes doivent comporter un préfixe au niveau du point de terminaison direct :

Annotations de l’instance

Les propriétés relatives aux éléments renvoyés avec le signe @ (@) incluent également un espace de noms. Lorsque vous utilisez Microsoft Graph, l’espace de noms est toujours microsoft.graph. Toutefois, lorsque vous accédez au point de terminaison direct de l’API, l’espace de noms est différent.

Nom de la propriété documentée (Microsoft Graph) Nom de la propriété directe de l’API
@microsoft.graph.downloadUrl @content.downloadUrl
@microsoft.graph.sourceUrl @content.sourceUrl
@microsoft.graph.conflictBehavior @name.conflictBehavior

Noms de propriété

Certains noms de propriété sur les ressources sont modifiés lorsqu’ils sont renvoyés par Microsoft Graph. Le tableau suivant contient des ressources et des noms de propriétés qui sont différents pour Microsoft Graph et l’API OneDrive.

Nom de la propriété documentée (Microsoft Graph) Nom de la propriété directe de l’API
folder.view folder.folderView

Découverte d’un point de terminaison

Microsoft Graph fournit un point de terminaison unique pour l’API, graph.microsoft.com pour les comptes personnel et professionnels/scolaires. Lorsque vous utilisez l’API OneDrive directement, vous devez découvrir le point de terminaison approprié pour l’API OneDrive.

Pour découvrir le point de terminaison approprié pour l’API OneDrive, vous devez utiliser Microsoft Graph.

Comptes personnels OneDrive

Pour accéder à l’API OneDrive pour OneDrive personnel, votre application doit utiliser le point de terminaison https://api.onedrive.com/v1.0 pour toutes les requêtes.

Vous pouvez déterminer si l’utilisateur connecté est un utilisateur OneDrive personnel en vérifiant le id_token pour tid: 9188040d-6c67-4c5b-b112-36a304b66dad. Vous trouverez plus d’informations à ce sujet dans la rubrique Protocole v2 Active Directory.

OneDrive Entreprise et SharePoint

Pour accéder au point de terminaison direct de l’API pour OneDrive Entreprise, votre application doit tout d’abord découvrir l’URL Mon site de l’utilisateur. Vous pouvez soumettre une demande à Microsoft Graph pour renvoyer ces informations :

GET https://graph.microsoft.com/v1.0/me?$select=mySite
HTTP/1.1 200 OK
Content-Type: application/json

{
    "mySite": "https://contoso-my.sharepoint.com/personal/rgregg_contoso_com/"
}

Vous pouvez ensuite ajouter le chemin d’accès de l’API pour l’API OneDrive, _api/v2.0/ à cette URL, afin de créer le point de terminaison de l’API :

var apiEndPoint = response.mySite + '_api/v2.0';

Dans certains cas, une valeur mySite n’est pas renvoyée pour les comptes professionnels/scolaires. Ce cas se produit lorsque le compte n’a pas encore créé son OneDrive Entreprise. Dans ce scénario, votre application doit utiliser Microsoft Graph pour mettre en service le OneDrive de l’utilisateur en demandant le dossier racine du lecteur auprès de Microsoft Graph.

Autorisations

Pour les appels à SharePoint et OneDrive Entreprise, vous pouvez attribuer ces étendues d’autorisation à votre application par le biais du portail Azure en passant par le service Office 365 SharePoint Online. Pour OneDrive Personnel, la chaîne d’étendue est directement transmise au workflow OAuth et n’a pas besoin d’être inscrite à l’avance.

Autorisation de Microsoft Graph OneDrive Personnel SharePoint et OneDrive Entreprise
Files.Read OneDrive.Read MyFiles.Read
Files.ReadWrite OneDrive.ReadWrite MyFiles.Write
Files.ReadWrite.All OneDrive.ReadWrite Files.ReadWrite.All
Files.ReadWrite.AppFolder OneDrive.AppFolder Files.ReadWrite (Files.ReadWrite.AppFolder actuellement non pris en charge
Sites.Read.All S/O Sites.Read.All
Sites.ReadWrite.All S/O Sites.ReadWrite.All