Baixe o conteúdo de um DriveItem
Baixar o conteúdo do fluxo principal (arquivo) de um DriveItem. Somente driveItems com a propriedade file podem ser baixados.
Permissões
Uma das permissões a seguir é necessária para chamar essa API. Para saber mais, incluindo como escolher permissões, confira Permissões.
Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
---|---|
Delegado (conta corporativa ou de estudante) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Delegado (conta pessoal da Microsoft) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All |
Aplicativo | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Solicitação 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
Cabeçalhos de solicitação opcionais
Nome | Valor | Descrição |
---|---|---|
if-none-match | String | Se este cabeçalho de solicitação estiver incluso e a eTag (ou cTag) fornecida corresponder à marca atual do arquivo, uma resposta HTTP 304 Not Modified será exibida. |
Exemplo
Aqui está um exemplo para baixar um arquivo completo.
GET /me/drive/items/{item-id}/content
Resposta
Retorna uma resposta 302 Found
que redireciona para uma URL de download previamente autenticada do arquivo.
Esta é a mesma URL disponível por meio da propriedade @microsoft.graph.downloadUrl
no DriveItem.
Para baixar o conteúdo do arquivo, seu aplicativo precisa seguir o cabeçalho Location
na resposta.
Várias bibliotecas de cliente HTTP seguirão automaticamente o redirecionamento 302 e começarão a baixar imediatamente o arquivo.
URLs de download previamente autenticadas são válidas apenas por um curto período de tempo (alguns minutos) e não exigem um cabeçalho Authorization
para download.
HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi
Downloads de intervalo parcial
Para baixar um intervalo parcial de bytes do arquivo, o aplicativo pode usar o cabeçalho Range
conforme especificado em RFC 2616.
Observe que você deve acrescentar o cabeçalho Range
à URL @microsoft.graph.downloadUrl
real e não à solicitação para /content
.
GET https://b0mpua-by3301.files.1drv.com/y23vmag
Range: bytes=0-1023
Isso retornará uma resposta HTTP 206 Partial Content
com o intervalo de solicitação de bytes do arquivo.
Se o intervalo não puder ser gerado, o cabeçalho do Intervalo poderá ser ignorado, e uma resposta HTTP 200
será retornada com todo o conteúdo do arquivo.
HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048
Content-Type: application/octet-stream
<first 1024 bytes of file>
Respostas de erros
Confira mais informações sobre como os erros são retornados em Respostas de Erros.