Os erros podem ocorrer em diferentes camadas. Você pode receber notificações de diferentes maneiras, dependendo de onde o erro ocorre.
Parâmetros obrigatórios do OAuth
Se você esquecer de definir os parâmetros OAuth obrigatórios, como client_id ou scope, uma mensagem de erro vai aparecer no console JavaScript do navegador.

Corrigir erros de configuração do OAuth
Talvez seja necessário fazer mudanças no console de APIs do Google para resolver alguns erros.
- Cria um ID do cliente, se ainda não houver.
- Para a UX de pop-up, adicione todos os domínios que podem acionar o fluxo atual a
Authorized JavaScript origins
. - Para redirecionar a UX, adicione todos os URLs que podem receber respostas de autorização a
Authorized redirect URIs
. - Configure corretamente a tela de permissão OAuth.
- Envie seu app para verificação, se necessário.
- Talvez seja necessário seguir outras etapas para obedecer às políticas do OAuth 2.0 do Google.
Valores de parâmetro OAuth inválidos
Se você definir valores inválidos para parâmetros do OAuth, como ID do cliente, identificadores de escopo ou valores de tipo de resposta inválidos, a página de erro do OAuth vai aparecer.

Respostas de erro do OAuth
O OAuth pode retornar uma resposta de erro. Nesse caso, sua função callback
será acionada com a resposta de erro como parâmetro. Confira um exemplo de resposta de erro do OAuth.
{ "error":"access_denied" }
Por exemplo:
- O usuário nega a solicitação do OAuth.
- Para uma solicitação OAuth com o parâmetro
prompt=none
, o usuário não está autenticado e não configurou previamente o consentimento para os escopos solicitados.
Este exemplo mostra como processar as respostas de sucesso e erro do OAuth:
function myCallback(response) {
if (response.error) {
// Handle error response
... ...
} else if (response.code) {
// Handle success code response
... ...
}
}
Erros não relacionados ao OAuth
O OAuth não define os comportamentos quando:
- a janela pop-up não abre.
- a janela pop-up é fechada antes que uma resposta do OAuth seja retornada.
Essa biblioteca captura esses erros e aciona o error_callback
, se definido. Verifique o tipo de erro. Caso contrário, a lógica do código poderá ser afetada quando essa biblioteca oferecer suporte a novos tipos de erros mais tarde.
function myErrorCallback(err) {
if (err.type == 'popup_failed_to_open') {
// The popup window is failed to open
... ...
} else if (err.type == 'popup_closed') {
// The popup window is closed before an OAuth response is returned
... ...
}
}
const client = google.accounts.oauth2.initCodeClient({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
scope: 'https://www.googleapis.com/auth/calendar.readonly',
ux_mode: 'popup',
callback: myCallback,
error_callback: myErrorCallback
});