1

그래서 AngularJS/Ionic 프로젝트에서 Firebase를 사용하여 Facebook 인증으로 내 앱에 액세스했습니다.Firebase 및 AngularJS로 공개 프로필 가져 오기

인증이 잘되어 일부 데이터 (Display_name, email, urid, url 사진 등)를 검색하지만 더 필요합니다.

내 프로젝트의 이름과 성을 가져와야합니다. 작업해야하기 때문입니다. 그 사람이 정보 공유를 수락하면 공개 프로필을 공유하고 있다고 말하지만, 제공되는 데이터에는 공개 프로필에서 제공하는 Facebook 문서에 나와있는 정보가 없습니다.

here

나는이 프로그램 중포 기지 문서를 사용했다. 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에서 지원하지 않습니다. 해당 데이터를 얻으려면 Facebook에 추가 API 호출을해야합니다.

result.credential.accessToken에는 Facebook 액세스 토큰이 포함되어 있습니다. 해당 액세스 토큰을 사용하여 페이스 북 프로필 데이터를 얻을 수 있습니다. 여기에 페이스 북으로 그렇게하는 방법을 예입니다 How to get user profile info using access token in php-sdk

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

AngularJS와 그것을 수행하는 방법 또는 당신이 원하는 무엇을 필터링 할 방법을 찾는 사람들을 위해
+0

고맙습니다! =) 내가 찾고있는 것이 전부입니다. –

0

이것은 보젤이 나에게 준 정보를 사용하여 어떻게 했는가! (다시 고마워!)

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; 
    }); 
관련 문제