1

J'ai donc utilisé Firebase dans mon projet AngularJS/Ionic pour accéder à mon application avec l'authentification Facebook.Récupérer le profil public de Facebook avec Firebase et AngularJS

L'authentification se passe bien, il récupère certaines données (nom d'affichage, email, urid, url photo, etc.), mais j'ai besoin de plus.

Je dois obtenir le prénom et le nom de mon projet, car je devrai travailler avec. Quand la personne accepte de partager l'information, elle dit qu'elle partage son profil public, mais les données qui viennent n'ont pas ce que la documentation de Facebook dit que le profil public fournit.

here

J'utilisé la documentation Firebase à programmer. Il y a une partie où il est dit d'utiliser addScope pour ajouter ce que vous voulez, le profil public est demandé par défaut, mais je l'ai quand même ajouté. (Je ne peux pas poster le lien, StackOverflow dit que ma réputation est trop basse).

$scope.FBLogin = function(){ 
firebase.auth().signInWithPopup(provider).then(function(result) { 

    var token = result.credential.accessToken; 
    var user = result.user; 
    var profile = result.user.public_profile; 
    console.log("success") 
    console.log(result); 
    console.log(user); 


}).catch(function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    // The email of the user's account used. 
    var email = error.email; 
    // The firebase.auth.AuthCredential type that was used. 
    var credential = error.credential; 
// ... 
}); 
}; 

Connectez-vous ici:

Log here

, puisque je ne veux pas avoir à utiliser le "nom d'affichage". car les gens n'utilisent parfois pas leurs vrais noms là-bas.

Est-ce que quelqu'un sait comment récupérer cette information en utilisant Firebase et AngularJS?

Répondre

0

Actuellement, ceci n'est pas supporté par Firebase. Vous devez faire l'appel api supplémentaire à Facebook pour obtenir ces données. Result.credential.accessToken contient le jeton d'accès Facebook. En utilisant ce jeton d'accès, vous pouvez obtenir des données de profil Facebook. Voici un exemple comment faire avec facebook: How to get user profile info using access token in php-sdk

AJAX GET « https://graph.facebook.com/me?access_token= » + result.credential.accessToken

+0

Merci beaucoup! =) C'est ce que je cherchais. –

0

Pour les personnes qui cherchent comment le faire dans AngularJS ou comment le filtre vous ce que vous voulez voici comment je l'ai fait en utilisant les informations que m'a donné bojeil! (Merci encore!)

var token = result.credential.accessToken; 
var user = result.user; 

$http.get('https://graph.facebook.com/v2.5/me? access_token='+token+'&fields=id,name,first_name,last_name,email') 
    .success(function(jsonService){ 
    $scope.user.firstName= jsonService.first_name; 
    $scope.user.lastName= jsonService.last_name 
    $scope.user.email = jsonService.email; 
    });