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=media
informa 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.