Fazer o download e exportar arquivos (original) (raw)

A API Google Drive oferece suporte a vários tipos de ações de download e exportação, conforme listado na tabela a seguir:

Ações de download Conteúdo do arquivo blob usando o método files.get com o parâmetro de URL alt=media. Conteúdo do arquivo blob em uma versão anterior usando o método revisions.get com o parâmetro de URL alt=media. Conteúdo do arquivo blob em um navegador usando o campo webContentLink. Conteúdo do arquivo Blob usando o método files.download durante operações de longa duração. Essa é a única maneira de fazer o download de arquivos do Google Vids.
Ações de exportação Conteúdo de documento do Google Workspace em um formato que o app possa processar, usando o método files.export. O conteúdo do documento do Google Workspace em um navegador usando o campo exportLinks. Conteúdo de documento do Google Workspace em uma versão anterior em um navegador usando o campo exportLinks. Conteúdo de documento do Google Workspace usando o método files.download durante operações de longa duração.

Antes de fazer o download ou exportar o conteúdo do arquivo, verifique se os usuários podem fazer o download do arquivo usando o campo capabilities.canDownload no recursofiles.

Para descrições dos tipos de arquivo mencionados aqui, incluindo blobs e arquivos do Google Workspace, consulte Tipos de arquivo.

O restante deste guia fornece instruções detalhadas para realizar esses tipos de ações de download e exportação.

Fazer o download do conteúdo do arquivo blob

Para fazer o download de um arquivo blob armazenado no Drive, use o métodofiles.get com o ID do arquivo a ser transferido e o parâmetro de URL alt=media. O parâmetro de URL alt=mediainforma ao servidor que um download de conteúdo está sendo solicitado como um formato de resposta alternativo.

O parâmetro de URL alt=media é um parâmetro do sistema disponível em todas as APIs REST do Google. Se você usar uma biblioteca de cliente para a API Drive, não será necessário definir esse parâmetro explicitamente.

O exemplo de código abaixo mostra como usar o método files.get para fazer o download de um arquivo com as bibliotecas de cliente da API Drive.

Java

Python

Node.js

PHP

.NET

Este exemplo de código usa um método de biblioteca que adiciona o parâmetro de URL alt=mediaà solicitação HTTP.

Os downloads de arquivos iniciados no app precisam ser autorizados com um escopo que permita acesso de leitura ao conteúdo do arquivo. Por exemplo, um app que usa o escopo drive.readonly.metadata não tem autorização para fazer o download do conteúdo do arquivo. Este exemplo de código usa o escopo de arquivo restrito "drive", que permite que os usuários acessem e gerenciem todos os arquivos do Drive. Para saber mais sobre os escopos do Drive, consulte Escolher escopos da API Google Drive.

Os usuários com permissões de edição podem restringir o download por usuários somente leitura definindo o campo copyRequiresWriterPermission como false.

Os arquivos identificados como abusivos, como softwares nocivos, só podem ser baixados pelo proprietário. Além disso, o parâmetro de consulta get acknowledgeAbuse=true precisa ser incluído para indicar que o usuário reconheceu o risco de fazer o download de softwares potencialmente indesejados ou outros arquivos abusivos. Seu app precisa alertar o usuário de forma interativa antes de usar esse parâmetro de consulta.

Download parcial

O download parcial envolve o download de apenas uma parte especificada de um arquivo. É possível especificar a parte do arquivo que você quer transferir por download usando um intervalo de bytes com o cabeçalho Range. Exemplo:

Range: bytes=500-999

Fazer o download do conteúdo do arquivo blob em uma versão anterior

Para fazer o download do conteúdo de arquivos blob em uma versão anterior, use o métodorevisions.get com o ID do arquivo a ser transferido, o ID da revisão e o parâmetro de URL alt=media. O parâmetro de URL alt=media informa ao servidor que um download de conteúdo está sendo solicitado como um formato de resposta alternativo. Semelhante a files.get, o método revisions.get também aceita o parâmetro de consulta opcionalacknowledgeAbuse e o cabeçalho Range. Para mais informações sobre o download de revisões, consulte Gerenciar revisões de arquivos.

O protocolo de solicitação é mostrado aqui.

GET https://www.googleapis.com/drive/v3/files/{`FILE_ID`}/revisions/{`REVISION_ID`}?alt=media

Fazer o download do conteúdo do arquivo blob em um navegador

Para fazer o download do conteúdo de arquivos blob armazenados no Drive em um navegador, em vez de usar a API, use o campowebContentLink do recursofiles. Se o usuário tiver acesso de download ao arquivo, um link para fazer o download do arquivo e do conteúdo dele será retornado. É possível redirecionar um usuário para esse URL ou oferecê-lo como um link clicável.

Fazer o download do conteúdo do arquivo blob durante operações de longa duração

Para fazer o download do conteúdo de arquivos blob durante operações de longa duração, use o métodofiles.download com o ID do arquivo a ser transferido. Também é possível definir o ID da revisão. Essa é a única maneira de fazer o download de arquivos do Google Vids. Para mais informações, consulte Gerenciar operações de longa duração.

Exportar conteúdo de documentos do Google Workspace

Para exportar o conteúdo de bytes de um documento do Google Workspace, use o métodofiles.export com o ID do arquivo a ser exportado e o tipo MIME correto. O conteúdo exportado é limitado a 10 MB.

O exemplo de código abaixo mostra como usar o método files.export para exportar um documento do Google Workspace em formato PDF usando as bibliotecas de cliente da API Drive:

Java

Python

Node.js

PHP

.NET

Este exemplo de código usa o escopo restrito drive, que permite que os usuários visualizem e gerenciem todos os arquivos do Drive. Para saber mais sobre os escopos do Drive, consulte Escolher escopos da API Google Drive.

O exemplo de código também declara o tipo MIME de exportação como application/pdf. Para uma lista completa de todos os tipos MIME de exportação aceitos para cada documento do Google Workspace, consulte Exportar tipos MIME para documentos do Google Workspace.

Exportar o conteúdo de um documento do Google Workspace em um navegador

Para exportar o conteúdo de um documento do Google Workspace em um navegador, use o campoexportLinks do recursofiles. Dependendo do tipo de documento, um link para fazer o download do arquivo e do conteúdo dele é retornado para cada tipo MIME disponível. É possível redirecionar um usuário para um URL ou oferecê-lo como um link clicável.

Exportar o conteúdo de um documento do Google Workspace para uma versão anterior em um navegador

Para exportar o conteúdo de um documento do Google Workspace em uma versão anterior em um navegador, use o método revisions.getcom o ID do arquivo a ser transferido e o ID da revisão para gerar um link de exportação para fazer o download. Se o usuário tiver acesso de download ao arquivo, um link para fazer o download do arquivo e do conteúdo dele será retornado. É possível redirecionar um usuário para esse URL ou oferecê-lo como um link clicável.

Exportar o conteúdo de documentos do Google Workspace durante operações de longa duração

Para exportar o conteúdo de documentos do Google Workspace durante operações de longa duração, use o método files.download com o ID do arquivo a ser feito o download e o ID da revisão. Para mais informações, consulte Gerenciar operações de longa duração.