Descargar el contenido de un recurso driveItemVersion

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Recuperar el contenido de una versión específica de un elemento de unidad.

Nota: No se admite la obtención del contenido de la versión actual. En su lugar, usa el punto de conexión de contenido driveItem.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Files.Read Files. Read.All, Files. ReadWrite, Files. ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft) Files.Read Files. Read.All, Files. ReadWrite, Files. ReadWrite.All
Aplicación Files.Read.All Files. ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Nota:

SharePoint Embedded requiere permiso FileStorageContainer.Selected para acceder al contenido del contenedor. Este permiso es diferente de los mencionados anteriormente. Además de los permisos de Microsoft Graph, la aplicación debe tener los permisos de tipo de contenedor necesarios para llamar a esta API. Para obtener más información, consulte Autenticación y autorización de SharePoint Embedded.

Solicitud HTTP

GET /drives/{drive-id}/items/{item-id}/versions/{version-id}/content
GET /groups/{group-id}/drive/items/{item-id}/versions/{version-id}/content
GET /me/drive/items/{item-id}/versions/{version-id}/content
GET /sites/{site-id}/drive/items/{item-id}/versions/{version-id}/content
GET /users/{user-id}/drive/items/{item-id}/versions/{version-id}/content

Respuesta

Devuelve una 302 Found respuesta que redirige a una dirección URL de descarga autenticada previamente para los bytes del archivo.

Para descargar el contenido del archivo, la aplicación debe seguir el encabezado de Location la respuesta. Muchas bibliotecas de cliente HTTP seguirán de forma automática el redireccionamiento 302 e iniciarán la descarga del archivo de forma inmediata.

Las direcciones URL de descarga autenticadas previamente solo son válidas durante un breve período de tiempo (unos minutos) y no requieren un Authorization encabezado para descargarse.

Ejemplos

Ejemplo 1: Descargar el contenido de una versión anterior de un archivo

Este ejemplo recupera una versión de un archivo en la unidad del usuario actual.

Solicitud

GET /me/drive/items/{item-id}/versions/{version-id}/content

Respuesta

Devuelve una redirección a donde se puede descargar el contenido de la versión.

HTTP/1.1 302 Redirect
Location: https://onedrive.com/34FF49D6...

Ejemplo 2: Descargar un intervalo parcial de bytes de una versión anterior de un archivo

Para descargar un intervalo parcial de bytes de un elemento driveItemVersion, la aplicación puede usar el Range encabezado especificado en RFC 2616. Debe anexar el Range encabezado cuando siga la redirección y no a la solicitud de /content.

GET https://onedrive.com/34FF49D6...
Range: bytes=0-1023

La llamada devuelve una HTTP 206 Partial Content respuesta con el intervalo de solicitudes de bytes del archivo. Si no se puede generar el intervalo, se puede ignorar el Range encabezado y se devolverá una HTTP 200 respuesta con el contenido completo del archivo.

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048

<first 1024 bytes of file>

Comentarios

OneDrive no conserva los metadatos completos de las versiones anteriores de un archivo.

Cuando la aplicación recupera la lista de versiones disponibles de un archivo, se devuelve un recurso driveItemVersion que proporciona la información disponible sobre la versión específica.