Quiero recibir los mensajes de los usuarios por gmail api. Para eso se necesita la autorización de Google. Logré autorizar al usuario siguiendo el código:
let authBtn = document.getElementById('authorize_button'); const CLIENT_ID = 'XXXXXX-XXXXXXXXXXX.apps.googleusercontent.com'; const API_KEY = 'XXXXXX-XXXXXXXXXXXXXXX'; const DISCOVERY_DOC = 'https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest'; const SCOPES = 'https://www.googleapis.com/auth/gmail.readonly'; let tokenClient; let gapiInited = false; let gisInited = false; authBtn.style.visibility = 'hidden'; function gapiLoaded() { gapi.load('client', intializeGapiClient); } async function intializeGapiClient() { await gapi.client.init({ apiKey: API_KEY, discoveryDocs: [DISCOVERY_DOC], }); gapiInited = true; maybeEnableButtons(); } function gisLoaded() { tokenClient = google.accounts.oauth2.initTokenClient({ client_id: CLIENT_ID, scope: SCOPES, callback: '', }); gisInited = true; maybeEnableButtons(); } function maybeEnableButtons() { if (gapiInited && gisInited) { authBtn.style.visibility = 'visible'; } } function handleAuthClick() { tokenClient.callback = async (resp) => { if (resp.error !== undefined) throw (resp); authBtn.innerText = 'Refresh'; await getMessages(); }; if (gapi.client.getToken() === null) { tokenClient.requestAccessToken({prompt: 'consent'}); } else { tokenClient.requestAccessToken({prompt: ''}); } } En el código anterior gapi.client.getToken() === null siempre es false . Cada vez que actualizo la página, tengo que volver a autorizar al usuario con el aviso: 'consentimiento' . También quiero que el usuario permanezca conectado hasta que cierre sesión . ¿Cómo puedo lograr modificando el código anterior?