O que é a API do Google Drive
O que você pode fazer com esta ferramenta
- Faça upload e download de arquivos para o Drive.
- Pesquise arquivos e pastas.
- Crie consultas de pesquisa complexas que retornem qualquer um dos campos de metadados dos arquivos no recurso Arquivos.
- Permita que os usuários compartilhem arquivos, pastas e drives para colaborar no conteúdo.
- Combine com a Picker API para pesquisar todos os arquivos do Google Drive, retornando o nome do arquivo, a URL, a data da última modificação e o usuário.
- Crie atalhos que são links externos para dados mantidos fora do Drive, em um armazenamento de dados ou sistema de armazenamento em nuvem diferente.
- Crie uma pasta dedicada para armazenar os dados do seu aplicativo, evitando que o app tenha acesso a todo o conteúdo do usuário.
- Integre com a Drive UI, que pode ser usada para interagir com arquivos do Drive.
Para usar a API com sucesso, você precisa obter uma chave de API. Vamos ver como obtê-la.
Como obter a chave de API do Google Drive
Para configurar uma chave de API, siga estas etapas:
- Abra o painel APIs e Serviços → Credenciais no console de APIs do Google Drive na nuvem.
- Escolha a opção Criar credenciais e, em seguida, selecione a chave de API no menu suspenso.
- A tela de diálogo mostrará sua nova chave de API.
Caso precise indicar quais páginas da web, endereços IP ou aplicações podem usar sua chave de API, você pode adicionar restrições de aplicativo com base no tipo de aplicação. Lembre-se de que só é possível definir um único tipo de restrição por chave de API.
Outra forma de usar APIs – recuperar os dados de várias plataformas. Por exemplo, inserir avaliações do Google no seu site. Esse recurso também está disponível em aplicações web prontas para uso, como o Widget de Avaliações do Google da Elfsight.
Usando a API do Google Drive: exemplos
Existem várias maneiras de aplicar a API do Google Drive. Vamos discutir algumas.
Exemplo 1: envio de arquivo pela API do Google Drive
Você pode enviar dados de arquivo ao criar ou atualizar um Recurso de Arquivo. Existem três tipos de uploads que você pode realizar:
- Simples. É adequado para transferência rápida de um arquivo pequeno (5 MB ou menos).
- Envio multipart. Pode ser usado para uma rápida transferência de um pequeno arquivo e seus metadados que descrevem o arquivo, tudo em uma única solicitação.
- Envio resumível. Pode ser realizado para uma transferência mais confiável, especialmente com arquivos grandes.
Este exemplo demonstra uma solicitação de upload simples:
POST googleapis/upload/drive/v3/files?uploadType=media HTTP/1.1 Content-Type: image/jpeg Content-Length: [NUMBER_OF_BYTES_IN_FILE] Authorization: Bearer [YOUR_AUTH_TOKEN] [JPEG_DATA]
Uma requisição de envio multipart pode ficar assim:
POST googleapis/upload/drive/v3/files?uploadType=multipart HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY]
--foo_bar_baz
Content-Type: application/json; charset=UTF-8
{
"name": "myObject"
}
--foo_bar_baz
Content-Type: image/jpeg
[JPEG_DATA]
--foo_bar_baz--
Este exemplo mostra como iniciar uma sessão retomável para fazer o upload de um novo arquivo:
POST googleapis/upload/drive/v3/files?uploadType=resumable HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000
{
"name": "myObject"
}
Como Verificar a Plataforma do Seu Site
Exemplo 2: Compartilhamento de arquivo pela API do Google Drive
Os campos a seguir são necessários ao criar uma permissão:
- Tipo. Ele identifica o alcance da permissão – usuário, grupo, domínio ou qualquer pessoa.
- Função. Ela identifica as operações que o tipo pode realizar.
Aqui está um exemplo de como realizar uma permissão com uma biblioteca cliente.
Fran
here.”>Você pode encontrar mais informações sobre compartilhamento de arquivos, pastas e drives aqui.
Exemplo 3: pesquisa na API do Google Drive por arquivos e listagem de arquivos na pasta
A seguir, veja como é o formato de uma string de consulta:
valores do operador query_term
Onde:
-
query_termé o termo de busca ou campo a pesquisar. Para visualizar os termos de busca que podem ser usados para filtrar drives compartilhados, consulte Termos de busca. operatordesigna a condição para o termo de consulta. Você pode consultar Operadores de consulta para ver quais operadores você pode usar com cada termo de consulta.valuessão os valores específicos que você está usando para filtrar seus resultados de busca.
O exemplo a seguir mostra como usar uma biblioteca cliente para filtrar resultados de busca por nomes de arquivo e IDs de imagens JPEG.
String pageToken = null;
do {
FileList result = driveService.files().list()
.setQ("mimeType='image/jpeg'")
.setSpaces("drive")
.setFields("nextPageToken, files(id, name)")
.setPageToken(pageToken)
.execute();
for (File file : result.getFiles()) {
System.out.printf("Found file: %s (%s)"
, file.getName(), file.getId());
}
pageToken = result.getNextPageToken();
} while (pageToken != null);
Mais exemplos estão disponíveis aqui.
Exemplo 4: API de planilhas do Google Drive
Para criar uma nova planilha, você deve usar create() método na coleção de planilhas, conforme mostrado no exemplo abaixo.
Spreadsheet spreadsheet = new Spreadsheet()
.setProperties(new SpreadsheetProperties()
.setTitle(title));
spreadsheet = service.spreadsheets().create(spreadsheet)
.setFields("spreadsheetId")
.execute();
System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId());
Exemplo 5: exclusão de arquivo pela API do Google Drive
Para excluir permanentemente, use o ID do arquivo. O usuário atualmente autenticado precisa ser o proprietário do arquivo ou ser o organizador no item pai para arquivos de Drive compartilhados. O exemplo de código para este método:
import com.google.api.services.drive.Drive;
import java.io.IOException;
// ...
public class MyClass {
// ...
/**
* Permanently delete a file, skipping the trash.
*
* @param service Drive API service instance.
* @param fileId ID of the file to delete.
*/
private static void deleteFile(Drive service, String fileId) {
try {
service.files().delete(fileId).execute();
} catch (IOException e) {
System.out.println("An error occurred: " + e);
}
}
// ...
}
Documentação da API do Google Drive
Limites e preços da API do Google Drive
O uso da API do Google Drive é totalmente gratuito para usuários em todo o mundo, embora haja alguns limites de uso:
| Solicitações | Limites |
| Solicitações por dia | 1.000.000 |
| Solicitações por 100 segundos por usuário | 1,000 |
Você pode encontrar um link para solicitar mais cotas na aba ‘Cotas’ – se precisar de mais do que o padrão. Além disso, para obter mais informações sobre preços, consulte esta página.
FAQ
Permissão insuficiente para a API do Google Drive. O que devo fazer?
Escolha o escopo correto na lista aqui. Isso deve resolver o problema com permissão insuficiente da API do Google Drive.
Como posso obter ajuda com a Drive API?
Você pode usar o Stack Overflow, um site de Q&A, para postar suas questões técnicas. Desenvolvedores costumam usar a tag [google-drive-api] para marcar perguntas relevantes a este serviço.
Quanto custa a API do Google Drive?
O uso da API do Google Drive é totalmente gratuito. Mas há alguns limites. Você pode ver a tabela na seção de Preços acima.
Como posso começar a usar a Drive API?
Você pode experimentar uma opção de início rápido para configurar e executar seu primeiro aplicativo do Google Drive.
Conclusão
Como você pode ver, trabalhar com a API do Google Drive não é tão difícil. Conseguir a chave de API leva menos de três minutos, e este tutorial da Drive API será útil.
Agora conte pra gente: você usa esta ferramenta? Já enfrentou dificuldades ao usá-la? Compartilhe seus comentários! E não se esqueça de conferir nosso blog em breve para obter guias ainda mais úteis.


