Compartir a través de


Diferencias de los puntos de conexión de la API de OneDrive

La API de OneDrive está disponible desde varios puntos de conexión de API diferentes. Microsoft Graph es el punto de conexión preferido para tener acceso a OneDrive Personal, OneDrive para la Empresa y archivos de SharePoint Online. En algunos escenarios de empresa, como SharePoint Server 2016, puede que sea necesario tener acceso a los datos de OneDrive para la Empresa y SharePoint con el punto de conexión de API directo sin usar Microsoft Graph. En las notas siguientes se proporcionan detalles sobre las diferencias que puede observar entre Microsoft Graph y el punto de conexión de API directo.

Diferencias:

Espacios de nombres

Métodos

Al usar el punto de conexión directo, los métodos y las acciones necesitan un prefijo de espacio de nombres. Por ejemplo, para usar sharedWithMe en el punto de conexión directo, debe agregar un prefijo al nombre de la acción con oneDrive.. Tenga en cuenta que este prefijo distingue mayúsculas de minúsculas.

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

Se debe agregar un prefijo en las siguientes acciones o métodos en el punto de conexión directo:

Anotaciones de instancia

Las propiedades de elementos que se devuelven con una arroba (@) también incluyen un espacio de nombres. Al usar Microsoft Graph, el espacio de nombres siempre es microsoft.graph. En cambio, al tener acceso al punto de conexión de API directo, el espacio de nombres es diferente.

Nombre de la propiedad documentada (Microsoft Graph) Nombre de la propiedad de la API directa
@microsoft.graph.downloadUrl @content.downloadUrl
@microsoft.graph.sourceUrl @content.sourceUrl
@microsoft.graph.conflictBehavior @name.conflictBehavior

Nombres de propiedad

Algunos nombres de propiedad de los recursos se cambian cuando se devuelven de Microsoft Graph. En la siguiente tabla se incluyen recursos y nombres de propiedad que son diferentes entre Microsoft Graph y la API de OneDrive.

Nombre de la propiedad documentada (Microsoft Graph) Nombre de la propiedad de la API directa
folder.view folder.folderView

Detectar un punto de conexión

Microsoft Graph proporciona un único punto de conexión de API, graph.microsoft.com, para las cuentas de cliente, profesionales y educativas. Al usar la API de OneDrive directamente, debe detectar el punto de conexión correcto de la API de OneDrive.

Para detectar el punto de conexión correcto de la API de OneDrive, debe usar Microsoft Graph.

Cuentas de OneDrive Personal

Para tener acceso a la API de OneDrive para OneDrive Personal, la aplicación debe usar el punto de conexión https://api.onedrive.com/v1.0 en todas las solicitudes.

Puede determinar si el usuario que ha iniciado sesión es un usuario de OneDrive Personal comprobando id_token para tid: 9188040d-6c67-4c5b-b112-36a304b66dad. Puede encontrar más información sobre esto disponible en el tema Protocolos de la versión 2.0: uso del flujo implícito para las SPA.

OneDrive para la Empresa y SharePoint

Para tener acceso al punto de conexión de API directo para OneDrive para la Empresa, primero su aplicación debe detectar la dirección URL de Mi sitio del usuario. Puede realizar una solicitud a Microsoft Graph para que devuelva esta información:

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/"
}

Después, puede anexar la ruta de la API para la API de OneDrive, _api/v2.0/, a esta dirección URL para crear el punto de conexión de API:

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

En algunos casos, un usuario de una cuenta profesional o educativa puede que no obtenga un valor mySite. Esto sucede cuando la cuenta no ha creado todavía su OneDrive para la Empresa. En este escenario, la aplicación necesitará usar Microsoft Graph para aprovisionar el OneDrive del usuario solicitando la carpeta raíz de la unidad desde Microsoft Graph.

Permisos

Para las llamadas a SharePoint y OneDrive para la Empresa, puede asignar los ámbitos de los permisos a su aplicación a través de Azure Portal con el servicio Office 365 SharePoint Online. En el caso de OneDrive Personal, la cadena del ámbito se pasa a un flujo de trabajo de OAuth directamente, de modo que no es necesario registrarlo con antelación.

Permisos de Microsoft Graph OneDrive Personal SharePoint y OneDrive para la Empresa
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 No es compatible actualmente
Sites.Read.All N/D Sites.Read.All
Sites.ReadWrite.All N/D Sites.ReadWrite.All