Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Descargue el contenido de la secuencia principal (archivo) de un objeto driveItem. Solo se pueden descargar los objetos driveItem con la propiedad file .
Para obtener el identificador del elemento que se va a descargar, consulte Obtener 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. 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 |
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}/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 /shares/{shareIdOrEncodedSharingUrl}/driveItem/content
GET /sites/{siteId}/drive/items/{item-id}/content
GET /users/{userId}/drive/items/{item-id}/content
Encabezados de solicitud
| Nombre | Descripción |
|---|---|
| Authorization | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
| If-None-Match | 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. Opcional. |
| Prefiere: forceInfectedDownload | Si se proporciona, la solicitud puede descargar un archivo infectado. En el caso de las solicitudes delegadas, si la configuración de inquilinos DisallowInfectedFileDownload está habilitada, solo los administradores de inquilinos o los administradores globales pueden descargar el archivo. Las solicitudes de solo aplicación descargan un archivo infectado, independientemente de la configuración del inquilino. Opcional. |
Ejemplo
En el siguiente ejemplo se muestra una solicitud sobre cómo descargar un archivo completo.
Solicitud
GET /me/drive/items/{item-id}/content
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Devuelve una 302 Found respuesta que redirige a una dirección URL de descarga previamente autenticada para el archivo.
Es la misma dirección URL disponible a través de la @microsoft.graph.downloadUrl propiedad en DriveItem.
Para descargar el contenido del archivo, la aplicación debe seguir el encabezado de Location la respuesta.
Muchas bibliotecas cliente HTTP siguen la redirección 302 y comienzan a descargar el archivo inmediatamente.
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.
HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi
Descargar archivos en aplicaciones de JavaScript
Para descargar archivos en una aplicación JavaScript, no puede usar la /content API, ya que responde con una 302 redirección.
Una 302 redirección está explícitamente prohibida cuando se requiere una comprobación previade Uso compartido de recursos entre orígenes (CORS), como cuando se proporciona el encabezado de autorización.
En su lugar, la aplicación debe seleccionar la propiedad @microsoft.graph.downloadUrl que devuelve la misma URL a la que dirige /content.
Esta dirección URL puede solicitarse después directamente con XMLHttpRequest.
Dado que estas direcciones URL están autenticadas previamente, se pueden recuperar sin una solicitud preparatoria de CORS.
Ejemplo
Para recuperar la dirección URL de descarga de un archivo, primero realice una solicitud que incluya la propiedad @microsoft.graph.downloadUrl:
GET /drive/items/{item-ID}?select=id,@microsoft.graph.downloadUrl
La llamada devuelve el id. y la dirección URL de descarga de un archivo:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "12319191!11919",
"@microsoft.graph.downloadUrl": "https://..."
}
Después, puede realizar una solicitud XMLHttpRequest para la dirección URL proporcionada en @microsoft.graph.downloadUrl para recuperar el archivo.
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.
Debe anexar el Range encabezado a la dirección URL real @microsoft.graph.downloadUrl y no a la solicitud de /content.
GET https://b0mpua-by3301.files.1drv.com/y23vmag
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 rango, se puede ignorar el encabezado de rango 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>
Respuestas de error
Consulta Respuestas de error para obtener más información sobre cómo se devuelven los errores.