2017-06-21 2 views
-2

Voici le code du site Web des développeurs de Google. Je suis juste un débutant à cela. Je ne sais pas comment obtenir ces variables en php afin que je puisse les insérer dans ma base de données.J'utilise google API Oauth2 pour google sign-in sur mon site. Comment puis-je obtenir le nom complet et la variable d'email de ce code dans mon code php?

<script> 
    if (auth2.isSignedIn.get()) { 
     var profile = auth2.currentUser.get().getBasicProfile(); 
     console.log('ID: ' + profile.getId()); 
     console.log('Full Name: ' + profile.getName()); 
     console.log('Given Name: ' + profile.getGivenName()); 
     console.log('Family Name: ' + profile.getFamilyName()); 
     console.log('Image URL: ' + profile.getImageUrl()); 
     console.log('Email: ' + profile.getEmail()); 
    } 
</script> 
+0

écrire un appel ajax qui publiera toutes les valeurs dans votre fichier php –

+0

@NidhinChandran Je ne suis pas familier avec ajax. Tout ce que je sais c'est php. Pouvez-vous s'il vous plaît poster un lien vers une procédure pas à pas ou un code? – Learner

Répondre

0

En utilisant la bibliothèque jquery, vous pouvez écrire quelque chose comme ceci. Ensuite, tous les détails seront disponibles dans la variable $ _POST à ​​l'intérieur de data.php. Ce code vous donnera l'idée générale.

if (auth2.isSignedIn.get()) { 
var profile = auth2.currentUser.get().getBasicProfile(); 
userData = { 
    id: profile.getId(), 
    name: profile.getName(), 
    givenName: profile.getGivenName(), 
    familyName: profile.getFamilyName(), 
    imageUrl: profile.getImageUrl(), 
    email: profile.getEmail() 
}; 
$.ajax({ 
    url: "data.php", 
    method: "POST", 
    data: userData, 
    }).done(function(response) { 
     // finish function 
    }).fail(function(jqXHR, textStatus) { 
     // error function 
    }); 
} 

$(document).ready(function() { 
 
    if (auth2.isSignedIn.get()) { 
 
    var profile = auth2.currentUser.get().getBasicProfile(); 
 
    userData = { 
 
     id: profile.getId(), 
 
     name: profile.getName(), 
 
     givenName: profile.getGivenName(), 
 
     familyName: profile.getFamilyName(), 
 
     imageUrl: profile.getImageUrl(), 
 
     email: profile.getEmail() 
 
    }; 
 
    $.ajax({ 
 
     url: "data.php", 
 
     method: "POST", 
 
     data: userData, 
 
    }).done(function(response) { 
 
     console.log(response); 
 
    }).fail(function(jqXHR, textStatus) { 
 
     console.log('error'); 
 
    }); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Je suis très très nouveau à cela. Alors s'il vous plaît ne me dérange pas de poser une question STUPID. Mais devrais-je mettre ce code entre

0

La mise en garde à cette approche est que vous êtes seulement la validation des informations d'identification de l'utilisateur du côté client sans validation du côté serveur jeton. Cela signifie que quelqu'un peut truquer un nom et une adresse e-mail à votre point de terminaison côté serveur et prétendre être authentifié avec google. Si votre objectif principal est de consommer des services Google, cela pourrait être OK. Si ce n'est pas le cas, et que vous souhaitez valider les utilisateurs utilisant Google pour votre propre serveur, vous devez valider le côté serveur oauth. Envisagez d'utiliser le beta PHP library de Google à cette fin. L'un des problèmes que vous pouvez rencontrer est que Google a des limites d'API sur la fréquence à laquelle vous pouvez valider les jetons.