google tek dokunuşla javascript API kullanırken değişken google nasıl tanımlanır
Bu belgeler takip ediyorum bir musluk işareti google benim app tepki de tek oturum açma musluk google uygulamaktır.
JSX bileşenime aşağıdaki kodu ekledim ve oturum açmak için google komut istemine başladım:
const handleCredentialResponse = response => {
console.log('response', response);
};
return (
<Fragment>
<div
id="g_id_onload"
data-auto_select = 'false'
data-client_id={clientId}
data-callback={(e) => handleCredentialResponse(e)}>
</div>
</Fragment>
);
Karşılaştığım sorun, geri arama işlevinin tetiklenmemesi. Bir çözüm aradıktan sonra bu SO sorusuna rastladım . OP'nin benzer soruyu sorduğu ve google'a HTML kodu yerine tek dokunuş göstermek için javascript API sözdizimini kullandığı durumlarda Yukarıdaki soruyu takip etmek için bu dokümanı okudum One Tap JavaScript API'sini kullanın . Ama google değişkeninin nereden geldiğini anlayamıyorum?
Basit kod:
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
}
Birisi bana söyleyebilirse, bu, tetiklenmeyen geri arama işlevi sorunumu çözebilir. Teşekkürler!
Yanıtlar
Nilesh Patel tarafından gönderilen yorum yardımıyla bir çözüm buldum ve bu paket react-google-one-touch-login .
Yukarıdaki paketteki kaynak kodunu kontrol ederek yapmam gerektiğini öğrenmeyi başardım
değiştirin:
google.accounts.id.initialize({
client_id: CLIENT_ID,
callback: data => handleCredentialResponse(data),
state_cookie_domain: 'https://example.com',
});
ile
window.google.accounts.id.initialize({
client_id: CLIENT_ID,
callback: data => handleCredentialResponse(data),
state_cookie_domain: 'https://example.com',
});