A API Google Drive é compatível com vários tipos de ações de download e exportação, conforme listado na tabela a seguir:
Faça downloads |
|
|||
Exportações |
|
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
.
O restante deste guia fornece instruções detalhadas para executar 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 para download
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ê usa uma biblioteca de cliente para a API Drive, não é necessário definir explicitamente esse parâmetro.
O exemplo de código a seguir 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 subjacente.
Os downloads de arquivos iniciados pelo 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 está autorizado a fazer o download do conteúdo do arquivo.
Este exemplo de código usa o escopo restrito de arquivo "drive" que permite aos usuários visualizar e gerenciar todos os seus arquivos do Drive. Para saber mais sobre os escopos do Drive, consulte Escolher escopos da API Google Drive.
Usuários com permissões para edição podem restringir o download por usuários com acesso somente leitura definindo o campo copyRequiresWriterPermission
como false
.
O download dos arquivos identificados como
abusivos
(como software nocivo) só pode ser feito pelo proprietário deles.
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 um
software indesejado ou outros arquivos abusivos. Seu aplicativo deve alertar o usuário interativamente antes de usar esse parâmetro de consulta.
Download parcial
O download parcial envolve o download de apenas uma parte específica 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 para download, 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. Assim como 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 como fazer o download
de revisões, consulte Fazer o download e publicar revisões
de arquivos.
Fazer o download do conteúdo do arquivo blob em um navegador
Para fazer o download do conteúdo dos arquivos blob armazenados no Drive em um navegador, em vez de pela API, use o campo webContentLink
do recurso files
. Se o usuário tiver acesso para fazer o download do arquivo, será retornado um link para fazer o download do arquivo e do conteúdo dele. É 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
Para exportar o conteúdo em bytes do 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 a seguir 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 aos usuários visualizar e gerenciar todos os seus 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
. Confira uma
lista completa de todos os tipos MIME de exportação compatíveis com cada documento
do Google Workspace em Exportar tipos MIME para documentos
do Google Workspace.
Exportar o conteúdo de documentos do Google Workspace em um navegador
Para exportar o conteúdo do 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 documentos do Google Workspace em uma versão anterior em um navegador
Para exportar o conteúdo do documento do Google Workspace em uma versão anterior em um
navegador, use o método revisions.get
com o ID do arquivo para download e o ID da revisão. Se o usuário tiver acesso para fazer o download do arquivo, um link para fazer o download do arquivo e seu conteúdo serão retornados. É possível redirecionar um usuário para esse URL ou oferecê-lo como um link
clicável.