Descargar el contenido de un objeto DriveItem
Descargue el contenido de la secuencia principal (archivo) de un DriveItem. Solo se pueden descargar objetos driveItem con la propiedad file.
Permisos
Se requiere uno de los permisos siguientes para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.
Tipo de permiso | Permisos (de menos a más privilegiados) |
---|---|
Delegado (cuenta profesional o educativa) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All |
Aplicación | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Solicitud HTTP
GET /drives/{drive-id}/items/{item-id}/content
GET /groups/{group-id}/drive/items/{item-id}/content
GET /me/drive/root:/{item-path}:/content
GET /me/drive/items/{item-id}/content
GET /sites/{siteId}/drive/items/{item-id}/content
GET /users/{userId}/drive/items/{item-id}/content
Encabezados de solicitud opcionales
Nombre | Valor | Descripción |
---|---|---|
if-none-match | String | Si se incluye el encabezado de la solicitud y la eTag (o cTag) proporcionada coincide con la etiqueta actual del archivo, se devuelve una respuesta HTTP 304 Not Modified . |
Ejemplo
Este es un ejemplo para descargar un archivo completo.
GET /me/drive/items/{item-id}/content
Respuesta
Devuelve una respuesta 302 Found
que redirige a una URL de descarga autenticada previamente para el archivo.
Se trata de la misma dirección URL disponible mediante la propiedad @microsoft.graph.downloadUrl
del objeto DriveItem.
Para descargar el contenido del archivo, la aplicación tendrá que seguir el encabezado Location
en 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 URL de descarga autenticadas previamente solo son válidas durante un breve período de tiempo (unos minutos) y no requieren un encabezado Authorization
para descargarlas.
HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi
Descargas de rango parcial
Para descargar un rango parcial de bytes del archivo, la aplicación puede usar el encabezado Range
como se especifica en RFC 2616.
Tenga en cuenta que debe anexar el encabezado Range
a la dirección URL @microsoft.graph.downloadUrl
real y no a la solicitud de /content
.
GET https://b0mpua-by3301.files.1drv.com/y23vmag
Range: bytes=0-1023
Esto devolverá una respuesta HTTP 206 Partial Content
con el rango de solicitud de bytes del archivo.
Si no se puede generar el rango, se puede omitir el encabezado Range y se devolverá una respuesta HTTP 200
con el contenido completo del archivo.
HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048
Content-Type: application/octet-stream
<first 1024 bytes of file>
Respuestas de error
Vea Respuestas de error para obtener más información sobre la manera en que se devuelven los errores.