Sto tentando di implementare Google per accedere al mio sito web. Il pulsante di accesso viene visualizzato correttamente e segnala: le persone stanno bene all'inizio. Il mio problema si verifica quando mi disconnetto dopo aver utilizzato il sito Web e provo a passare alla pagina di accesso (sto utilizzando React, quindi è tutta una pagina). Uso la stessa identica funzione per rendere la pagina di accesso ma mi dà un "cb = gapi.loaded_0: 249 Unchaught TypeError: Impossibile leggere la proprietà 'style' di null". L'errore in GAPI si verifica qui (almeno credo):Impossibile leggere la proprietà 'style' di null - Pulsante di accesso a Google
a.El;window.document.getElementById((c?"not_signed_in":"connected"
Ecco come ho inizialmente aggiungo il pulsante di accesso da rendere:
elements.push(h('div.g-signin2',{'data-onsuccess': 'onSignIn'}))
return h('div.page_content',elements)
che poi ho rendere con un ReactDOM. rendere la chiamata.
Ecco come ho gestire SignOut e SignIn:
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function() {
// console.log('User signed out.');
signedin = false;
auth2 = null;
renderPage()
});
}
var google_idtoken;
var signedin = false;
// set auth2 to null to indicate that google api hasn't been loaded yet
var auth2 = null;
function onSignIn(googleUser) {
auth2 = gapi.auth2.getAuthInstance({
client_id: 'ClientID.apps.googleusercontent.com'
});
google_idtoken = googleUser.getAuthResponse().id_token;
wrongemail = true;
// if(auth2 != null && auth2.isSignedIn.get() == true){
if ((((auth2.currentUser.get()).getBasicProfile()).getEmail()).split("@").pop() == 'domain.com'){
signedin = true
wrongemail = false
}
updateSources()
// renderPage()
}
Non è dove si verificano gli errori. Ci deve essere un 'element.style' da qualche parte nel codice con qualche' elemento' che valuta 'nullo'. In ogni caso, ci deve essere il nome del file di script e il numero di riga con l'errore nella console che indica dove si è verificato l'errore. – user2570380