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 |
|
||||
Ações de exportaçã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 recurso
files
.
Para descrições dos tipos de arquivo mencionados aqui, incluindo arquivos blob e 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étodo files.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étodo
revisions.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 opcional
acknowledgeAbuse
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 campo
webContentLink
do recurso
files
. 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étodo
files.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étodo files.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 campo
exportLinks
do recurso
files
. 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.get
com 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.