A API Google Drive é compatível com 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 baixar o
arquivo usando o campo capabilities.canDownload
no recurso files
.
Para descrições dos tipos de arquivo mencionados aqui, incluindo blob 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.
Baixar conteúdo de 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 baixado 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 de sistema disponível em todas as APIs REST do Google. Se você usa uma biblioteca de cliente para a
API Drive, não precisa definir esse parâmetro explicitamente.
O exemplo de código a seguir mostra como usar o método files.get
para baixar 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 no seu 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 "drive" restrito, que permite aos usuários
ver e gerenciar todos os arquivos do Drive. Para saber mais sobre
escopos do Drive, consulte Escolher escopos da API
Google Drive.
Os usuários com permissões owner
(para arquivos do Meu Drive) ou organizer
(para arquivos de drive compartilhado) podem restringir o download usando o objeto DownloadRestrictionsMetadata
. Para mais informações, consulte Impedir que os usuários baixem, imprimam ou copiem seu arquivo.
Os arquivos identificados como abusivos
(como software malicioso) 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 software potencialmente
indesejado ou outros arquivos abusivos. Seu aplicativo precisa avisar o usuário de forma interativa antes de usar esse parâmetro de consulta.
Download parcial
O download parcial envolve o download apenas de uma parte especificada de um arquivo. É
possível especificar a parte do arquivo que você quer baixar usando um intervalo
de bytes com o
cabeçalho Range
. Exemplo:
Range: bytes=500-999
Baixar o conteúdo do arquivo blob em uma versão anterior
Só é possível baixar revisões de conteúdo de arquivos blob marcadas como "Manter indefinidamente". Se quiser baixar uma revisão, defina como "Manter indefinidamente" primeiro. Para mais informações, consulte Especificar revisões para salvar da exclusão automática.
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 baixado, 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, consulte Gerenciar
operações de longa duração.
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 de um arquivo blob em um navegador
Para baixar o 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 para fazer o download do arquivo,
um link para baixar o arquivo e o 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 baixado. 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 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 arquivos do Drive. Para saber mais sobre
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 compatíveis com cada documento do Google Workspace, consulte Tipos MIME de exportação para documentos do Google Workspace.
Exportar conteúdo de documentos 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
baixar o arquivo e o 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 conteúdo de documentos do Google Workspace em 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 baixado e o ID da revisão para gerar um link de exportação em que você pode fazer o download. Se o usuário tiver acesso para baixar o arquivo, um link para fazer isso e acessar o conteúdo dele será retornado. É possível
redirecionar um usuário para esse URL ou oferecê-lo como um link clicável.
Exportar 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 baixado e o ID da revisão. Para mais informações, consulte
Gerenciar operações de longa duração.