Actualmente estoy reemplazando el paquete gapi.oauth2
, usando TokenClient
de acuerdo con la guía y todo funciona bien.
global.google.accounts.oauth2 .initTokenClient({ client_id: CONFIG.google.clientId, scope: 'https://www.googleapis.com/auth/drive.readonly', ux_mode: 'popup', callback(tokenResponse) { if (tokenResponse && !tokenResponse.error) { onSuccess(tokenResponse.access_token); return; } onError(tokenResponse.error || 'google authentication failed'); }, }) .requestAccessToken({});
El único problema es que no estamos usando gapi.client
y preferiríamos evitar cargar ese paquete, ya que solo estamos usando el token para mostrar un selector mediante google.picker.PickerBuilder
. Ahora, después de la inicialización, el paquete GSI intenta usar gapi.client.setToken()
lo que obviamente falla porque el paquete no está cargado.
[GSI_LOGGER-TOKEN_CLIENT]: Error al establecer el token. Gapi.client.setToken indefinido.
Así que ahora no pude encontrar nada en la referencia sobre cómo evitar que suceda esa llamada, ni cómo al menos suprimir la advertencia, por ejemplo, no pirateando un noop
como marcador de posición.
¿Alguien sabe si hay alguna forma oficial de lidiar con eso?
En mis pruebas, el token de acceso se devuelve con éxito al controlador de devolución de llamada.
Parece ser una advertencia generada incorrectamente, molesta, sí, pero funcionalmente está bien. Un lanzamiento oficial posterior debería eliminar la advertencia sin que se requiera ninguna acción de su parte.