1

Итак, я использовал Firebase в своем проекте AngularJS/Ionic для доступа к моему приложению с помощью проверки подлинности на Facebook.Получение общедоступного профиля из Facebook с помощью Firebase и AngularJS

Аутентификация идет хорошо, она извлекает некоторые данные (имя_экземпляра, адрес электронной почты, urid, url фото и т. Д.), Но мне нужно больше.

Мне нужно получить имя и фамилию для моего проекта, потому что мне нужно будет с ним работать. Когда человек соглашается поделиться информацией, он говорит, что делится своим публичным профилем, но в данных, которые поступают, нет того, что документация на Facebook говорит о том, что предоставляет общедоступный профиль.

here

Я использовал Firebase документацию для программирования этого. Там есть часть, где говорится, чтобы использовать addScope, чтобы добавить то, что вы хотите, по умолчанию задан общедоступный профиль, но я все равно добавил его. (Я не могу опубликовать ссылку, StackOverflow говорит, что моя репутация слишком низкая).

$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; 
// ... 
}); 
}; 

Вход здесь:

Log here

Так, так как я не хочу, чтобы использовать "отображаемое имя". так как люди иногда не используют там своих настоящих имен.

Кто-нибудь знает, как получить эту информацию с использованием Firebase и AngularJS?

ответ

0

В настоящее время это не поддерживается Firebase. Вы должны сделать дополнительный вызов api в Facebook, чтобы получить эти данные.

result.credential.accessToken содержит токен доступа Facebook. Используя этот токен доступа, вы можете получить данные профиля facebook. Вот пример того, как сделать это с 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

Большое вам спасибо! =) То, что я искал. –

0

Для тех, кто ищет, как сделать это в AngularJS или как фильтровать то, что вы хотите это то, как я это сделал, используя информацию, которую дал мне боджей! (Еще раз спасибо!)

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; 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^