For the complete documentation index, see llms.txt. This page is also available as Markdown.

Google (Calendar, Meet e Login)

Caminho: Configurações → Globais → aba Google

Apenas master vê e edita esta aba.

Aqui ficam as credenciais do app OAuth da instalação. Enquanto os dois campos estiverem vazios, nada muda no sistema: a aba "Conta Google" não aparece no perfil, o botão "Entrar com Google" não aparece no login e a sincronização de contatos fica indisponível.

[[FOTO]]


Campos

Campo
Chave
Para que serve
Valores

Client ID

GOOGLE_CLIENT_ID

ID do cliente OAuth criado no Google Cloud

string; DB

Client Secret

GOOGLE_CLIENT_SECRET

Segredo do mesmo cliente OAuth

string (mascarada); DB

URL de redirecionamento

Somente leitura, para copiar no Google Cloud

derivada de BACKEND_URL

Validar credenciais

Confere Client ID/Secret direto no Google, sem salvar

POST /google/oauth/validate


Como criar o app no Google Cloud

  1. Acesse o Google Cloud Console e selecione (ou crie) o projeto da instalação.

  2. APIs e serviços → Biblioteca: habilite as duas APIs abaixo. Sem elas, o sistema conecta mas as chamadas falham.

    API
    Necessária para

    Google Calendar API

    Enviar agendamentos, gerar link do Meet e ler horários ocupados

    People API

    Importar e espelhar contatos

  3. APIs e serviços → Credenciais → Criar credenciais → ID do cliente OAuth, tipo Aplicativo Web.

  4. Em URIs de redirecionamento autorizados, cole exatamente a URL mostrada nesta tela (botão de copiar ao lado do campo).

  5. Copie o Client ID e o Client Secret para os campos desta aba.

  6. Clique em Validar credenciais e salve.

Depois de habilitar uma API no Google Cloud, aguarde alguns minutos: o próprio Google avisa que a liberação leva um tempo para propagar. Até lá, as chamadas continuam falhando com "API has not been used in project ... or it is disabled".

[[FOTO]]


Tela de consentimento

O app precisa de uma tela de consentimento OAuth configurada no mesmo projeto, com os escopos usados pelo sistema:

Escopo
Para que

openid, email, profile

Identificar quem está entrando

calendar.events

Criar/atualizar os agendamentos no calendário do profissional

calendar.freebusy

Ler os horários ocupados

contacts

Importar e espelhar contatos — pedido apenas a quem tem a permissão liberada

Enquanto o app estiver em modo de teste no Google, só as contas cadastradas como testadoras conseguem conectar.


Regras importantes

  • As credenciais valem para toda a instalação. Cada usuário conecta a própria conta Google depois, no perfil.

  • O Client Secret é gravado no banco. Trate esta aba como área sensível.

  • Trocar o Client ID/Secret invalida as conexões existentes: todos os usuários precisam reconectar a conta.

  • A URL de redirecionamento vem do BACKEND_URL da instalação. Se o domínio do backend mudar, atualize também no Google Cloud, senão o consentimento passa a falhar.


Mensagens e erros comuns

Situação
Causa provável

"Credenciais inválidas — confira Client ID e Client Secret"

Copiou errado, ou as credenciais são de outro projeto

Ao conectar: redirect_uri_mismatch

A URL de redirecionamento não foi cadastrada exatamente igual no Google Cloud

Nos logs: "Google Calendar API has not been used in project..."

A API não foi habilitada, ou foi há poucos minutos e ainda está propagando

Nos logs: "Quota exceeded ... People API"

Volume de sincronização acima da cota do projeto; confira as cotas no Google Cloud


Dicas de uso

  • Confira se o número do projeto que aparece nas mensagens de erro é o mesmo do Client ID cadastrado (o Client ID começa com esse número). É comum habilitar a API em um projeto e ter as credenciais de outro.

  • Use Validar credenciais antes de sair da tela: ele confere direto com o Google e evita descobrir o erro só quando um usuário tentar conectar.

Atualizado