Estamos descontinuando la biblioteca de la plataforma de JavaScript de inicio de sesión de Google para la web . La biblioteca no estará disponible para su descarga después de la fecha de desactivación del 31 de marzo de 2023. En su lugar, utilice los nuevos Servicios de identidad de Google para la Web .
De forma predeterminada, las ID de cliente recién creadas ahora no pueden usar la Biblioteca de plataforma anterior, las ID de cliente existentes no se ven afectadas. Los nuevos ID de cliente creados antes del 29 de julio de 2022 pueden establecer `plugin_name` para habilitar el uso de la biblioteca de Google Platform.

Integrar el inicio de sesión de Google mediante oyentes

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Los oyentes proporcionan una forma de responder automáticamente a los cambios en la sesión de inicio de sesión del usuario actual. Por ejemplo, después de que su método de inicio inicialice el objeto auth2 de inicio de sesión de Google, puede configurar oyentes para responder a eventos como cambios de estado auth2.isSignedIn o cambios en auth2.currentUser .

El siguiente código demuestra el uso del método de cliente 2.0 listen() para responder a los cambios en auth2.isSignedIn y auth2.currentUser .

var auth2; // The Sign-In object.
var googleUser; // The current user.


/**
 * Calls startAuth after Sign in V2 finishes setting up.
 */
var appStart = function() {
  gapi.load('auth2', initSigninV2);
};


/**
 * Initializes Signin v2 and sets up listeners.
 */
var initSigninV2 = function() {
  auth2 = gapi.auth2.init({
      client_id: 'CLIENT_ID.apps.googleusercontent.com',
      scope: 'profile'
  });

  // Listen for sign-in state changes.
  auth2.isSignedIn.listen(signinChanged);

  // Listen for changes to current user.
  auth2.currentUser.listen(userChanged);

  // Sign in the user if they are currently signed in.
  if (auth2.isSignedIn.get() == true) {
    auth2.signIn();
  }

  // Start with the current live values.
  refreshValues();
};


/**
 * Listener method for sign-out live value.
 *
 * @param {boolean} val the updated signed out state.
 */
var signinChanged = function (val) {
  console.log('Signin state changed to ', val);
  document.getElementById('signed-in-cell').innerText = val;
};


/**
 * Listener method for when the user changes.
 *
 * @param {GoogleUser} user the updated user.
 */
var userChanged = function (user) {
  console.log('User now: ', user);
  googleUser = user;
  updateGoogleUser();
  document.getElementById('curr-user-cell').innerText =
    JSON.stringify(user, undefined, 2);
};


/**
 * Updates the properties in the Google User table using the current user.
 */
var updateGoogleUser = function () {
  if (googleUser) {
    document.getElementById('user-id').innerText = googleUser.getId();
    document.getElementById('user-scopes').innerText =
      googleUser.getGrantedScopes();
    document.getElementById('auth-response').innerText =
      JSON.stringify(googleUser.getAuthResponse(), undefined, 2);
  } else {
    document.getElementById('user-id').innerText = '--';
    document.getElementById('user-scopes').innerText = '--';
    document.getElementById('auth-response').innerText = '--';
  }
};


/**
 * Retrieves the current user and signed in states from the GoogleAuth
 * object.
 */
var refreshValues = function() {
  if (auth2){
    console.log('Refreshing values...');

    googleUser = auth2.currentUser.get();

    document.getElementById('curr-user-cell').innerText =
      JSON.stringify(googleUser, undefined, 2);
    document.getElementById('signed-in-cell').innerText =
      auth2.isSignedIn.get();

    updateGoogleUser();
  }
}