Pular para o conteúdo principal

API do Google Sheets: Um guia passo a passo para iniciantes

Aprenda a ler, escrever, formatar e automatizar o Google Sheets usando a API, com exemplos práticos.
Atualizado 6 de jan. de 2026  · 15 min lido

O Google Sheets é onde as equipes costumam guardar e compartilhar dados. Mas, quando você está atualizando a mesma planilha várias vezes, copiar e colar manualmente dá um trabalhão.

A API do Google Sheets permite que você atualize e gerencie planilhas automaticamente a partir de seus próprios aplicativos e scripts. Você pode importar dados, enviar atualizações e manter os relatórios atualizados sem precisar fazer isso manualmente.

Neste guia, vamos te mostrar passo a passo como configurar, ler, escrever, formatar e automatizar tarefas comuns em planilhas.

Introdução à API do Google Sheets

Pra começar a usar a API do Google Sheets, você precisa de um projeto do Google Nuvem e uma forma de autenticar seu aplicativo. Vamos ver como configurar isso em um nível mais alto. 

Criando um projeto no Google Nuvem

Todas as APIs do Google funcionam dentro de um projeto do Google Nuvem. Esse projeto guarda suas credenciais, configurações de API e limites de uso.

Veja como criar seu primeiro projeto: 

  • Acesse o Google Nuvem Console.
  • Clique Selecione um projeto na parte de cima.
  • Aparece uma nova janela pop-up Selecione um projeto. A partir daqui, clique em ” (Novo projeto) e, em seguida, em “New Project (Novoprojeto).
  • Na próxima janela, digite um nome para o projeto.
  • Clique Criar.

Criando um novo projeto no Google Console

Crie um novo projeto no Google Console. Imagem do autor.

Quando o projeto estiver pronto, habilite as APIs necessárias: 

  • Abra seu projeto.
  • Clique nas três linhas no canto superior esquerdo. 
  • Vá até APIs e serviços > APIs e serviços ativados.
  • Clique em + Ativar APIs e serviços.

Vá para Ativar APIs e serviços para ativar a API necessária no Google Console.

Vá para Ativar APIs e serviços para ativar a API. Imagem do autor.

  • Agora, a janelaBiblioteca de API aparece. Na barra de pesquisa, procure por ” (API do Google Sheets) e clique nela.
  • Clique em Ativar.

Ative a API do Google Sheets no Google Console.

Ative a API do Google Sheets. Imagem do autor.

Se o seu aplicativo precisa criar, mover ou gerenciar arquivos de planilha, habilite também a API do Google Drive: 

  • Pesquisar por API do Google Drive.
  • Clique em Ativar.

Autenticação e autorização

A API do Google Sheets aceita três métodos principais de autenticação. Qual você usa depende de como seu aplicativo funciona.

OAuth 2.0

Use isso quando usuários reais fizerem login e trabalharem com suas próprias planilhas. Isso permite que os usuários aprovem o acesso, e seu aplicativo só pode fazer o que eles permitirem.

Imagina que você está criando um aplicativo web que permite que os usuários conectem suas contas do Google para que seu aplicativo possa ler ou atualizar suas planilhas pessoais. Nesse caso, opte pelo OAuth 2.0. 

Veja como fazer:

  • No Google Console, vá para Menu de navegação (três linhas no canto superior esquerdo) > API e serviços > Tela de consentimento do OAuth

Vá para a tela de consentimento do OAuth no Console do Google.

Vá para a tela de consentimento do OAuth. Imagem do autor.

  • Agora preencha os detalhes: 
    • Digite o nome do aplicativo que precisa de consentimento no campo Nome do aplicativo.
    • Digite o e-mail de suporte para que os usuários possam fazer perguntas e clique em Avançar
    • Agora selecione o Externo e clique em Avançar
    • Depois, preencha as informações de contato (e-mail) para que o Google possa te avisar sobre mudanças no seu projeto. Depois, clica em ” (Próximo).
    • Aceite a política deles marcando a caixa e clique em Continuar
  • Clique em em Salvar. Vai aparecer uma mensagem dizendo que a configuração do OAuth foi criada!

Agora, para autenticar usuários finais e acessar seus dados do Google Sheets, crie credenciais de cliente OAuth 2.0. Um ID de cliente identifica de forma exclusiva seu aplicativo para os servidores OAuth do Google.

Veja como fazer: 

  • Clique no Menu de Navegação > APIs e serviços > Credenciais.
  • No janela Credenciais , clique em + Criar credenciais e selecione ID do cliente OAuth.

Vá até a ID do cliente OAuth no Console do Google.

Vá para o ID do cliente OAuth. Imagem do autor.

  • Agora selecione o Aplicativo Web em Tipo de aplicativo .
  • Digite o nome do cliente OAuth 2.0 para identificação no console.
  • Em URIs de redirecionamento autorizadas, clique em Adicionar URI
  • Digite o URL de redirecionamento para onde o Google vai mandar a resposta de autorização. Isso precisa ser igualzinho ao URI de redirecionamento que você configurou no seu aplicativo (por exemplo, o endpoint de retorno de chamada OAuth).
  • Clique Criar
  • Copie e guarde o ID do cliente e Segredo do Cliente. 

Chaves API

As chaves API identificam o seu projeto, não um usuário. Eles só trabalham com planilhas públicas e não podem editar arquivos privados.

É por isso que você só deve usar isso quando quiser ler dados de uma planilha pública do Google Sheets para mostrar em um site ou testar um script simples.

Veja como gerar sua chave API: 

  • Vá até o Menu de Navegação > APIs e serviços > Credenciais.

Vá até Chaves API no Console do Google.

Vá para Chaves API. Imagem do autor.

  • Clique em + Criar credenciaise selecione Chave API.
  • Role para baixo, selecione a caixa Restringir chave e escolha as APIs no menu suspenso para as quais essa chave de API pode ser usada. 
  • Clique Criar.
  • Copie e salve a chave gerada.

Copie a chave API gerada no Google Console.

Salve a chave API gerada. Imagem do autor.

Contas de serviço

As contas de serviço permitem que seu aplicativo funcione sozinho, sem que o usuário precise fazer login. Você compartilha planilhas específicas com o e-mail da conta de serviço e controla o que ela pode fazer.

Se você quiser rodar um script programado que atualiza um relatório todas as noites ou sincroniza dados de um banco de dados em uma planilha compartilhada do Google, as contas de serviço são a melhor opção. 

Vamos ver como criá-los e configurá-los: 

Criando e configurando contas de serviço

Veja como fazer isso: 

  • Clique na API do Google Sheets que ativamos anteriormente. 
  • No canto superior esquerdo, clica em Criar credenciais .

Criar credenciais na API do Google Sheets

Crie credenciais na API do Google Sheets. Imagem do autor.

  • Na janela Criar credenciais, certifique-se de que a API do Google Sheets esteja selecionada no campo Selecionar uma API. Agora escolha o tipo de dados que você quer acessar. Como você está usando uma conta de serviço, selecione ” (Dados do aplicativo ), clique em “Application data” (Dados do aplicativo) e clique em “Next” (Avançar).

Digite suas credenciais

Digite suas credenciais. Imagem do autor.

  • Agora, uma nova janela Criar conta de serviço aparece:
    • Adicione o nome da sua conta de serviço, o ID da conta de serviço e a descrição da conta de serviço. 
    • Clique Criar e continuar.

Vai aparecer uma janela pop-up mostrando que a conta de serviço foi criada.

Crie uma conta de serviço na API do Google Sheets

Crie uma conta de serviço na API do Google Sheets. Imagem do autor.

Uma conta de serviço não usa uma tela de login ou consentimento. Em vez disso, ele faz a autenticação usando uma chave privada guardada num arquivo de chave JSON. Esse arquivo de chave permite que o servidor de aplicativos comprove sua identidade ao Google e solicite automaticamente tokens de acesso.

Agora, para gerar um arquivo de chave: 

  • Abra a conta de serviço. (Você também pode encontrá-lo em IAM & Admin > Conta de serviço
  • Vá para as Chaves .
  • Clique em Adicionar chave > Criar nova chave.
  • Escolha JSON e clique em Criar.

Agora, o arquivo vai começar a baixar. 

Gerar arquivo de chave JSON para a API do Google Sheets

Crie um arquivo de chave JSON para a API do Google Sheets. Imagem do autor.

Compartilhando planilhas do Google com contas de serviço

As contas de serviço não têm acesso automático às suas planilhas. Você precisa compartilhar cada arquivo com o e-mail da conta de serviço.

Para fazer isso: 

  • Abra o arquivo que baixamos e procure o e-mail do cliente. Ou clique na conta de serviço que criamos no menu ” (Contas de serviço ) e procure o e-mail”. São os mesmos e-mails. 
  • Agora, copie esse e-mail. 

Copie o e-mail do cliente do arquivo de chave JSON.

Copie o e-mail do cliente do arquivo de chave JSON. Imagem do autor.

  • Abra a planilha do Google.
  • Vá até o opção Compartilhar no canto superior direito. 
  • Cola o e-mail que copiamos antes no campo de compartilhamento.
  • Escolha Visualizador (permite ler e escrever dados) ou Editor (permite só ler) acesso. 
  • Clique Enviar para compartilhar o acesso. 

Compartilhe o acesso à conta de serviço pelo Google Sheets

Compartilhe o acesso à conta de serviço pelo Google Sheets. Imagem do autor.

Instalando bibliotecas do cliente

O Google disponibiliza bibliotecas de clientes oficiais que simplificam o trabalho com a API do Sheets. Eles cuidam da autenticação, formatação de solicitações e novas tentativas pra você. Na verdade, isso é mais fácil e seguro do que enviar solicitações HTTP brutas.

Aqui estão alguns exemploscomuns de instalação para idiomas populares:

Python

pip install google-api-python-client google-auth google-auth-oauthlib

Node.js

npm install googleapis

Java (adicione a biblioteca do cliente usando o Maven)

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-sheets</artifactId>
</dependency>

Observação: As bibliotecas de clientes economizam tempo de configuração e reduzem erros à medida que seu projeto cresce.

Operações de dados essenciais

A API do Google Sheets é usada principalmente para ler, escrever, atualizar e formatar dados de planilhas. Vamos entender isso: 

Lendo dados de planilhas

Pra ler dados de uma planilha do Google, você precisa de duas coisas: o ID da planilha e o intervalo de células que você quer acessar.

O ID da planilha vem da URL do Google Sheets. É a longa sequência entre /d/ e /edit. Isso diz à API qual planilha deve ser lida.

Por exemplo, se o URL da minha planilha for: https://docs.google.com/spreadsheets/d/1s4-xSl1ztvdXmCUISe14XZWduQoJ4Ignz_HrgqsExPI/edit?gid=0#gid=0  

Nesse caso, o ID da planilha é: 1s4-xSl1ztvdXmCUISe14XZWduQoJ4Ignz_HrgqsExPI

ID da planilha

ID da planilha. Imagem do autor.

O intervalo é escrito usando a notação A1, que descreve as células usando letras de coluna e números de linha. Por exemplo:

  • A1 lê uma única célula

  • A1:C10 lê um bloco de células

  • Sheet1!A:A lê uma coluna inteira

  • Sheet1!1:1 lê uma linha inteira

Para buscar valores, a API oferece dois métodos principais:

  • spreadsheets.values.get lê dados de um único intervalo. Use isso quando você souber exatamente qual tabela ou bloco você precisa. 

  • spreadsheets.values.batchGet lê dados de vários intervalos em uma única solicitação. Use isso quando quiser dados de vários lugares ao mesmo tempo, como totais de uma planilha e detalhes de outra.

Ler os dados não altera a planilha. Ele só devolve valores para o seu aplicativo usar em outro lugar. Então, você pode usar isso para puxar dados para painéis, exportar dados para análise e gerar relatórios automatizados.

Escrevendo dados em planilhas

Escrever dados funciona de forma muito semelhante à leitura de dados. Você ainda precisa de um ID da planilha e um intervalo, mas dessa vez também manda os valores que quer escrever.

A API do Google Sheets oferece dois métodos principais para isso:

  • spreadsheets.values.update: Use isso quando quiser gravar dados em um intervalo específico e substituir o que já está lá. Por exemplo, se você quiser trocar a linha do cabeçalho de uma tabela por novos nomes de colunas, o update é a escolha certa. Os valores que você enviar substituirão as células existentes nesse intervalo.

  • spreadsheets.values.append: Use isso quando quiser adicionar novas linhas sem mexer nos dados que já existem. Isso é útil quando seus dados continuam crescendo, como registrar métricas diárias, adicionar novos registros ou armazenar respostas de formulários. A API coloca automaticamente os novos valores depois da última linha que não está vazia.

Opções de entrada de valor

Ao escrever dados, você também precisa escolher como o Google Sheets deve tratar os valores que você envia. Isso é controlado por ValueInputOption.

  • RAW armazena o valor exatamente como você o envia

  • USER_ENTERED trata o valor como se tivesse sido digitado na planilha

Por exemplo, se você mandar =SUM(1,2):

  • Com o RAW, ele é guardado como texto simples.

  • Com USER_ENTERED, é avaliado como uma fórmula

Substituir ou adicionar dados

A escolha entre update e append depende de como sua planilha está organizada.

Use a atualização quando:

  • A localização dos dados é fixa
  • Você está substituindo cabeçalhos ou células conhecidas

Use o comando append quando:

  • Os dados aumentam com o tempo
  • Você quer evitar sobrescrever as linhas que já existem.

Operações em lote

As operações em lote permitem agrupar várias alterações em uma única solicitação de API. Isso reduz o número de chamadas que seu aplicativo faz e ajuda você a ficar dentro dos limites de uso.

Tem dois padrões comuns de agrupamento na API do Google Sheets.

Para trabalhar com valores, você pode usar:

  • spreadsheets.values.batchGet para ler vários intervalos de uma só vez

  • spreadsheets.values.batchUpdate escrever em vários intervalos em uma única solicitação

Para alterações estruturais e de formatação, use spreadsheets.batchUpdate. Esse é o método de processamento em lote mais útil e suporta várias ações em uma única solicitação.

Com o spreadsheets.batchUpdate, você pode juntar mudanças como:

  • Criando ou apagando planilhas
  • Renomeando uma planilha ou guia
  • Congelar linhas de cabeçalho
  • Alterando a largura das colunas
  • Aplicando formatação
  • Atualizando vários intervalos de uma vez só

Por exemplo, em vez de mandar pedidos separados para renomear uma planilha e criar uma nova guia, você pode fazer as duas coisas em uma chamada batchUpdate. Isso é mais rápido e fácil de gerenciar à medida que seus fluxos de trabalho crescem.

Você pode usar operações em lote para configurar relatórios, aplicar formatação consistente ou fazer grandes atualizações em uma planilha.

Atualizando e apagando dados

Atualizar dados é trocar os valores em células ou intervalos específicos. Isso geralmente é feito quando você quer atualizar números, KPIs ou sobrescrever uma área de saída fixa em uma planilha.

Para atualizar os valores existentes, use spreadsheets.values.update. Aqui, você define o intervalo de destino e envia os novos valores, e os dados existentes nesse intervalo são substituídos.

Limpar vs. excluir dados

Limpar dados e excluir dados não são a mesma coisa:

Limpar os dados apaga os valores dentro das células, mas deixa a planilha, o layout e a formatação como estão. Use spreadsheets.values.clear quando quiser esvaziar um intervalo sem mexer na estrutura.

Exemplo: Limpar uma seção antiga do relatório antes de colocar novos dados nas mesmas células.

Apagar dados remove uma guia inteira da planilha. Isso é feito usando spreadsheets.batchUpdate com uma solicitação deleteSheet. Apagar uma planilha remove de vez os dados e a estrutura dela.

Como a exclusão de uma planilha é irreversível, é melhor usá-la com moderação e só quando tiver certeza de que os dados não são mais necessários.

Recursos e funcionalidades avançadas

Além de ler e escrever dados, a API do Google Sheets permite controlar a aparência e o comportamento das planilhas. Isso permite automatizar a formatação e as regras visuais em grande escala.

Formatação e formatação condicional

A API do Google Sheets permite aplicar formatação de células programaticamente, em vez de através da interface do usuário do Sheets. Isso inclui estilos de texto, cores, formatos numéricos e alterações no layout.

Todas as alterações de formatação são enviadas como solicitações JSON usando spreadsheets.batchUpdate.. Cada solicitação descreve o que alterar e onde aplicar.

As tarefas comuns de formatação incluem:

  • Colocando as linhas do cabeçalho em negrito
  • Aplicando formatos numéricos para moedas ou porcentagens
  • Ajustando a largura das colunas
  • Definindo cores de fundo para intervalos específicos

Por exemplo, uma solicitação de formatação pode selecionar a primeira linha de uma planilha e torná-la em negrito com uma cor de fundo clara. A solicitação usa índices baseados em zero, onde a linha 0 representa a primeira linha.

Formatação condicional

A formatação condicional permite que você estilize células automaticamente com base nos seus valores. Se você quer que o Sheets destaque dados importantes sem precisar revisar manualmente, a formatação condicional pode ajudar. 

Usando a API, as regras de formatação condicional são definidas em JSON e aplicadas por meio de spreadsheets.batchUpdate.

Você pode usar isso para:

  • Destacando valores negativos em vermelho
  • Sinalizando valores acima ou abaixo de um limite
  • Estilizar automaticamente as linhas que atendem a certas condições

Por exemplo, você pode definir uma regra que destaque qualquer valor abaixo de 0 em uma coluna específica. Depois de aplicada, a formatação é atualizada automaticamente conforme os dados mudam.

Tabelas dinâmicas e agregação de dados

A API do Google Sheets pode criar e atualizar tabelas dinâmicas por meio de código. As tabelas dinâmicas resumem grandes conjuntos de dados sem alterar os dados originais, o que ajuda na geração de relatórios e análises.

Tudo o que você precisa fazer é definir tabelas dinâmicas usando solicitações JSON e aplicá-las com um spreadsheets.batchUpdate. Essas solicitações descrevem como os dados devem ser agrupados, resumidos e exibidos.

Com a API, você pode:

  • Escolha quais colunas vão virar rótulos de linha
  • Escolha métodos de agregação como soma, contagem ou média
  • Controle onde a tabela dinâmica aparece
  • Atualize ou modifique tabelas dinâmicas à medida que novos dados forem adicionados

Por exemplo, você pode agrupar linhas por palavra-chave e calcular automaticamente o total de cliques e impressões. Conforme os dados de base mudam, a tabela dinâmica atualiza automaticamente.

Integração entre o Connected Sheets e o BigQuery

O Connected Sheets permite que o Google Sheets trabalhe diretamente com o BigQuery. O BigQuery lida com grandes conjuntos de dados, enquanto o Sheets é usado para análise e relatórios. 

Em vez de copiar milhões de linhas para uma planilha, o Connected Sheets faz consultas no BigQuery e mostra os resultados. Isso mantém as planilhas rápidas e responsivas, mesmo com conjuntos de dados muito grandes.

A conexão é criada dentro do Google Sheets. A API do Google Sheets não é usada para configurar a conexão em si.

Então, é assim que funciona:

  • Os dados ficam numa tabela do BigQuery.
  • Você conecta uma planilha do Google a essa tabela.
  • O Sheets faz consultas e mostra os resultados.
  • Os dados podem ser atualizados sem precisar exportar os arquivos.

Depois de conectado, você pode criar tabelas dinâmicas, aplicar fórmulas e criar relatórios diretamente no Sheets.

Autenticação e permissões

O acesso ao Connected Sheets é controlado pelo Gerenciamento de Identidade e Acesso do Google Nuvem.

A conta que conecta o Sheets ao BigQuery precisa ter:

  • Permissão do Visualizador de dados do BigQuery
  • Permissão de usuário do trabalho do BigQuery
  • Acesso à planilha do Google

A autenticação é feita automaticamente pela interface do Google Sheets.

Mas é bom ficar ligado em alguns limites. Embora a API do Sheets possa ler dados do Connected Sheets e aplicar formatação ou criar tabelas dinâmicas, ela não pode modificar a consulta subjacente do BigQuery nem gravar dados de volta em intervalos baseados no BigQuery.

É por isso que as planilhas conectadas funcionam melhor para análise e relatórios, e não para inserir ou editar dados brutos.

Usando ferramentas de integração sem código

Nem todo fluxo de trabalho precisa de código personalizado. Várias ferramentas sem código e com pouco código conectam-se diretamente à API do Google Sheets e cuidam dos detalhes técnicos para você. As três opções mais populares são:

Essas ferramentas oferecem interfaces visuais para escolher fontes de dados, definir horários e mandar os resultados para o Google Sheets. Eles cuidam da autenticação, das solicitações de API e do tratamento de erros em segundo plano.

Isso faz com que as ferramentas sem código sejam uma boa opção para profissionais de marketing e analistas que precisam de pipelines de dados confiáveis sem precisar escrever código. Eles também diminuem o tempo de configuração para relatórios comuns e casos de uso de painéis.

Preços e limites da API

Na maioria dos projetos, você pode usar a API do Google Sheets de graça. O principal é entender como funcionam os limites de uso.

Visão geral dos preços da API

O Google não cobra por solicitação ou por ação na planilha. Em vez disso, o uso é controlado por cotas. 

Desde que seu projeto fique dentro desses limites, você pode usar a API sem pagar nada. Se você passar disso, as solicitações vão ficar temporariamente bloqueadas até que o uso diminua ou os limites aumentem.

Limites e cotas de uso

A API do Google Sheets tem uns limites pra manter o desempenho e a estabilidade e evitar abusos. Esses limites geralmente se aplicam por projeto e, em alguns casos, por usuário.

A maioria dos projetos enfrenta dois tipos principais de limites:

1. Pedidos por minuto: Esse limite controla quantas chamadas de API seu projeto pode mandar num curto espaço de tempo. Mandar muitas solicitações pequenas de uma vez só pode causar erros temporários.

Por padrão, a API do Google Sheets permite :

Pedidos de leitura

Escreva pedidos

300 solicitações por minuto por projeto

300 solicitações por minuto por projeto

60 solicitações por minuto por usuário

60 solicitações por minuto por usuário

2. Pedidos por dia: Pra ler e escrever dados, não tem um limite diário fixo de quantas solicitações seu projeto pode fazer. Você pode continuar usando a API durante todo o dia (24 horas). 

Os limites geralmente se aplicam ao número de solicitações que você envia por minuto, não ao total do dia.

Para ficar dentro dos limites e evitar problemas:

  • Agrupe várias atualizações em uma única solicitação
  • Evite leituras repetidas para pequenas alterações
  • Armazene os dados em cache em vez de buscá-los de novo
  • Monitore o uso no Google Cloud Console e faça ajustes logo de cara.

Otimização de desempenho e gerenciamento de cotas

Quando você automatiza o Google Sheets, os problemas de desempenho geralmente vêm do envio de muitas solicitações muito rapidamente. Então, é importante entender como as cotas funcionam. 

Entendendo as cotas e limites de taxa da API

O Google usa cotas pra limitar quantas solicitações seu projeto pode mandar num determinado tempo. Algumas restrições valem por projeto e outras por usuário.

Esses limites afetam diretamente os fluxos de trabalho automatizados. Se o seu script mandar muitas solicitações muito rápido, a API começa a dar erros e o fluxo de trabalho para. Isso geralmente rola quando os scripts:

  • Atualize as linhas uma de cada vez
  • Ler várias vezes grandes intervalos
  • Executar com muita frequência sem agrupar

Monitorar o uso ajuda você a detectar problemas logo no início. No Google Cloud Console, você pode ver o quanto seu projeto está perto dos limites e identificar picos repentinos de atividade. Veja como:

  • Abra seu projeto.
  • Vá para APIs e serviços > Serviços de API ativados 
  • Clique em API do Google Sheets.
  • Quotas abertas e limites do sistema.

Se você notar picos repentinos, isso geralmente indica padrões de solicitação ineficientes.

Cotas e limites do sistema na API do Google Sheets.

Quotas e limites do sistema. Imagem do autor.

Implementando o recuo exponencial

Mesmo scripts bem escritos podem ter erros temporários na API. Os mais comuns são fáceis de identificar:

  • Erros 429 significam que muitas solicitações foram enviadas em pouco tempo.
  • Erros 5xx significam que a API teve um problema temporário no servidor.

Esses erros geralmente se resolvem sozinhos. Tentar de novo a solicitação imediatamente pode piorar o problema.

O backoff exponencial é a maneira padrão de tentar novamente as solicitações com segurança. Em vez de tentar de novo na hora, seu script espera um pouco antes de tentar de novo. O tempo de espera aumenta depois de cada falha.

Um padrão de recuo simples é assim:

  • Envie uma solicitação
  • Se você receber um erro 429 ou 5xx, espere um segundo.
  • Tenta de novo
  • Se não funcionar de novo, espere dois segundos, depois quatro, depois oito.
  • Pare depois de um tempo máximo de espera ou número de tentativas

Essa abordagem diminui a pressão sobre a API e aumenta as chances de uma nova tentativa dar certo.

Backoff exponencial na prática

Aqui está um exemplo simples em Python que tenta novamente uma solicitação usando o backoff exponencial:

import time
from googleapiclient.errors import HttpError

def run_with_backoff(callable_request, max_retries=5):
    delay = 1

    for attempt in range(max_retries):
        try:
            return callable_request()
        except HttpError as e:
            status = getattr(e.resp, "status", None)

            if status in [429, 500, 502, 503, 504]:
                time.sleep(delay)
                delay = min(delay * 2, 32)
                continue

            raise

    raise RuntimeError("Request failed after retries.")

Você pode então envolver qualquer chamada de API com este auxiliar:

result = run_with_backoff(
    lambda: service.spreadsheets().values().get(
        spreadsheetId=spreadsheet_id,
        range="Report!A1:E100"
    ).execute()
)

Isso evita que seu script falhe imediatamente quando o problema for temporário, ajudando seus fluxos de trabalho a funcionarem de forma mais confiável.

Estratégias de otimização

O desempenho melhora quando você manda menos solicitações e mantém as cargas úteis pequenas. A maioria das lentidões rola quando os scripts fazem muito trabalho em uma única chamada.

Aqui estão as técnicas mais eficazes para evitar lentidão:

Pedidos em lote

Métodos em lote como spreadsheets.values.batchGet, spreadsheets.values.batchUpdate e spreadsheets.batchreadsheets.batchUpdate permitem que você combine várias ações em uma única solicitação. Isso traz o maior ganho de desempenho.

Armazenamento em cache

Ler os mesmos dados várias vezes é uma perda de tempo e de quota. Pega os metadados da planilha ou os IDs das folhas uma vez e depois usa de novo durante a execução do script.

Paginação

Algumas respostas da API devolvem dados em páginas. Processe uma página de cada vez, em vez de carregar tudo de uma vez. Isso evita erros de tempo limite e problemas de memória ao trabalhar com grandes conjuntos de dados.

Compressão Gzip

A maioria das bibliotecas de clientes do Google e clientes HTTP já vêm com suporte automático para compactação gzip. A compactação diminui o tamanho quando as respostas são grandes, tipo ao ler intervalos amplos ou buscar metadados de planilhas.

Respostas parciais

Quando disponível, peça só os campos que você precisa, em vez do recurso completo. Respostas menores são mais rápidas e usam menos largura de banda.

Minimizar o tamanho da carga útil

Evite escrever uma célula de cada vez. Escreva intervalos completos em vez disso. Pule as atualizações de formatação se nada mudou e não reenvie dados sem necessidade.

Uma regra simples funciona bem aqui: se um script faz um loop pelas linhas e faz uma chamada de API dentro desse loop, ele não vai escalar. Agrupe o trabalho, reduza o número de solicitações e mantenha as cargas úteis pequenas.

Tratamento de erros e resolução de problemas

Erros fazem parte do trabalho com qualquer API. Então, vamos ver como resolver problemas rapidinho e manter a automação funcionando bem. 

Problemas comuns de autenticação

Problemas de autenticação são a causa mais comum de erros quando se começa a usar a API do Google Sheets. A maioria deles vem de problemas de configuração, e não de bugs no seu código.

Problemas comuns incluem:

  • Erros de permissão negada: A planilha não foi compartilhada com o e-mail da conta de serviço ou o usuário não concedeu os escopos OAuth necessários.
  • Erros de credenciais inválidas ou arquivo não encontrado: O caminho do arquivo de chave JSON está errado ou o nome do arquivo não bate.
  • Erros de API não habilitada: A API do Google Sheets não está ativada no mesmo projeto da nuvem que as credenciais.

Problemas com OAuth geralmente acontecem quando os escopos não combinam com a ação que você está tentando fazer. Por exemplo, os escopos somente leitura não permitem gravações.

Problemas com contas de serviço geralmente são por causa de falta de compartilhamento de arquivos. Uma conta de serviço não consegue ver nenhuma planilha, a menos que ela seja explicitamente compartilhada com seu endereço de e-mail.

Erros de formatação de dados e de solicitação

Os erros de solicitação geralmente acontecem quando os dados enviados não combinam com o que a API espera. As mensagens de erro costumam ser bem descritivas, mas ainda assim podem ser confusas no começo.

As causas mais comuns são:

  • Notação A1 inválida: Os nomes das planilhas estão errados ou os intervalos não existem

  • Estrutura de dados incorreta: Os valores têm que ser enviados como matrizes bidimensionais, mesmo que seja só uma linha.

  • Incompatibilidades de tipos: Números, datas e fórmulas funcionam de maneira diferente dependendo de valueInputOption

Ao resolver problemas, sempre leia a resposta de erro completa, porque as APIs do Google geralmente apontam para o campo exato que falhou na validação.

Desafios de disponibilidade e desempenho do serviço

Como qualquer serviço em nuvem, a API do Google Sheets pode, às vezes, apresentar erros de servidor, como 503 Serviço indisponível durante picos de carga ou interrupções temporárias.

Esses erros geralmente são temporários. Mas não tente de novo logo de cara, porque isso pode piorar as coisas.

Para lidar com questões de confiabilidade de forma mais eficaz:

  • Tente de novo só se tiver erros temporários, tipo respostas 429 e 5xx.
  • Use o backoff exponencial entre as tentativas
  • Pedidos em lote para diminuir o tráfego
  • Fique de olho no uso da cota pra não passar do limite

Uma integração resiliente assume que algumas solicitações irão falhar. Novas tentativas, processamento em lote e monitoramento adequados permitem que seus scripts se recuperem automaticamente e continuem funcionando sem precisar mexer neles manualmente.

Melhores práticas e segurança

A API do Google Sheets é fácil de usar, mas a confiabilidade a longo prazo depende de como a gente projeta e protege nossa configuração.

Ferramentas e recursos de desenvolvimento

O Google oferece ferramentas e recursos oficiais para tornar o desenvolvimento mais seguro e fácil:

  • O Explorador de APIs do Google Workspace permite que você teste as solicitações da API do Sheets direto no navegador. Você pode experimentar pontos finais, visualizar parâmetros necessários e inspecionar respostas sem escrever código. 
  • Os guias de início rápido da API do Sheets mostram as configurações básicas para diferentes idiomas. Eles mostram a autenticação, uma chamada simples de leitura ou gravação e etapas comuns de configuração. 
  • A documentação oficial mostra como as coisas funcionam agora e quais são os limites conhecidos.
  • Uma planilha de teste permite que você faça experiências sem arriscaros dados de produção ou sobrescrever relatórios ativos.

Uso de bibliotecas de clientes e SDK

O Google mantém bibliotecas de clientes oficiais para a API do Sheets. Essas bibliotecas cuidam da autenticação, das tentativas e da formatação das solicitações. Podemos reduzir erros e economizar tempo com bibliotecas compatíveis. Eles também se adaptam melhor às atualizações da API do que o código HTTP personalizado.

Os idiomas suportados são Python, JavaScript com Node.js, Java e Go.

Cada biblioteca segue a mesma estrutura API principal, mas algumas oferecem auxiliares específicos para cada idioma. Python e Node.js são geralmente os preferidos para automação por causa da configuração mais simples e do apoio forte da comunidade.

As bibliotecas de clientes também se integram perfeitamente com outras APIs do Google, o que ajuda quando um fluxo de trabalho envolve o Drive, o BigQuery ou o Gmail.

Gerenciamento e segurança de credenciais

As credenciais controlam o acesso aos seus dados, portanto, manuseie-as corretamente seguindo estas práticas recomendadas:

  • Nunca coloque arquivos importantes no controle de versão

  • Guarde as chaves fora dos repositórios públicos

  • Use variáveis de ambiente ou gerenciadores de segredos na produção

  • Dê só as permissões necessárias

  • Prefira funções específicas em vez de funções gerais

  • Limite o acesso da conta de serviço a tarefas específicas

  • Fique de olho em picos estranhos ou padrões de acesso desconhecidos.

  • Troque as chaves com frequência e cancele e substitua imediatamente as chaves expostas.

Considerações finais 

O melhor próximo passo é automatizar uma pequena tarefa que você já faz manualmente. Escolha uma planilha que você controla, leia um intervalo e, em seguida, escreva ou acrescente dados a ela. Quando estiver funcionando, coloque em uma programação e deixe rodar sozinho.

É aí que a API do Google Sheets começa a valer a pena. 

Você não precisa de um sistema complicado logo de cara. Um fluxo de trabalho confiável já é o suficiente pra economizar tempo e facilita muito a criação do próximo. Se você quer aprimorar essas habilidades junto com a automação, confira nossos programas Fundamentos do Google Sheets ou Introdução ao Google Sheets e Google Sheets Intermediáriopara obter mais valor de cada fluxo de trabalho que você automatizar.


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Sou um estrategista de conteúdo que adora simplificar tópicos complexos. Ajudei empresas como Splunk, Hackernoon e Tiiny Host a criar conteúdo envolvente e informativo para seus públicos.

Perguntas frequentes

Qual é a diferença entre a API do Sheets e o Google Apps Script?

A API do Sheets é ideal quando sua lógica fica fora do Google (por exemplo, back-end, ETL, serviços). Se você quer algo rápido que funcione dentro do Google Sheets, use o Apps Script.

Posso usar a API do Google Sheets sem o Google Cloud Console?

Não. Toda solicitação de API precisa estar ligada a um projeto do Google Nuvem. O console é necessário para habilitar APIs e criar credenciais.

Dá pra saber quem mexeu nos dados pela API?

Sim. O histórico de edições no Google Sheets ainda registra as alterações, mas as edições da conta de serviço aparecem sob o nome da conta de serviço.

A API funciona da mesma forma para arquivos do Excel?

Não. A API só funciona com o Google Sheets. Os arquivos Excel precisam ser convertidos antes de usar.

Qual é a maneira mais segura de começar a usar a API?

Comece com acesso somente leitura em uma planilha de teste e, depois, vá adicionando permissões de gravação aos poucos.

Tópicos

Aprenda com o DataCamp

Curso

Análise Financeira no Google Sheets

4 h
24.9K
Aprenda a criar um painel gráfico com o Google Sheets para programar o desempenho de títulos financeiros.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow