2016-06-01 2 views
3

내 앱의 사용자에 대한 고유 ID를 저장하는 좋은 방법을 찾아 내려하고 있습니다. 나는 사용자 관리를위한 페이스 북의 로그인을 사용하여 사용자에 대한 클래스가 오전 : 내가 노력하고있어Facebook Graph API - 고유 한 사용자 ID?

.service('facebookService', function() { 

     this.getFacebookUser = function (callback) { 
      $.getScript("//connect.facebook.net/en_US/sdk.js", function() { 
       var appId = "12312312313123"; 
       FB.init({ 
        appId: appId, 
        status: true, 
        cookie: true, 
        xfbml: true, 
        version: 'v2.4' 
       }); 

       FB.getLoginStatus(function (response) { 
        if (response.status == 'connected') { 
         FB.api('/me?fields=picture,name,email', function (data) { 
          callback(new FacebookUser(data)); 
         }) 
        } else { 
         FB.login(function (response) { 
          FB.api('/me?fields=picture,name,email', function (data) { 
           callback(new FacebookUser(data)); 
          }) 
         }); 
        } 
       }) 
      }); 
     } 

    }) 

: 기본적으로

function FacebookUser(userObj) { 
    if (userObj) { 
     this.name = userObj.name; 
     this.id = userObj.id; 
     this.picture = userObj.picture.data.url; 
     this.isLoggedIn = true; 
    } else { 
     this.name = 'Login'; 
     this.id = 0; 
     this.picture = ''; 
     this.isLoggedIn = false; 
    } 
} 

을, 나는 페이스 북 로그인을 처리 각도에서 서비스를 알아 낸 것은 고유 한 식별자입니다. 고유 한 이메일 주소를 사용하고 싶지만 추가 사용 권한을 요청하지 않으려 고합니다. 원래 id 필드를 사용하고 싶었지만 ID가 변경 될지 여부는 명확하지 않습니다. 페이 스북 설명서에서는 다음과 같이 ID 필드를 설명합니다.

이 사용자의 사용자 계정의 ID입니다. 이 ID는 각 앱마다 고유 한 것으로 이며 다른 앱에서 사용할 수 없습니다. 우리의 업그레이드 가이드는 이에 따라 응용 프로그램 고유의 ID를

에 대한 자세한 정보를 제공 ID는 응용 프로그램에 고유 한 다른 앱에서 사용할 수 없습니다. 그러나 여기서 좀 더 명확하게하려고합니다. 한 사용자가 오늘 앱에 로그인 한 다음 몇 달 후에 다시 로그인하면 ID가 동일 할 것입니까 (앱이 동일한 경우) 또는 변경됩니까? 부차적 인 질문은 내가 변경하고 새 앱 ID를 얻는 경우 ID가 동일하거나 변경되는 것입니까? 기술적으로 여전히 동일한 앱으로, 다른 버전입니다. 내 가정은 그것이 다른 appId이기 때문에, 페이스 북은 완전히 다른 애플 리케이션이라고 생각하지만 페이스 북의 API에 익숙하지 않고 조언을 구하기 위해 전문가를 찾고 있습니다.

답변

7

저는 전문가는 아니지만 귀하의 질문에 답변하려고 노력할 것입니다.

한 사용자가 오늘 앱에 로그인 한 다음 몇 개월 만에 다시 로그인하면 ID가 동일하거나 (동일한 앱 인 경우) ID가 변경됩니까?

응용 프로그램 ID가 동일하면 아무리 길어도 로그인간에 사용자 ID가 변경되지 않습니다.

내가 변경하고 새로운 앱 ID를 얻으면 그 ID는 동일하거나 변경 될 것입니까?

새 앱 ID는 다른 앱을 의미하며 이는 사용자 ID가 변경됨을 의미합니다. 그러나 새로운 앱 ID를 얻었고 동일한 사용자에게 액세스해야하는 경우 Facebook의 Business Mapping API을 사용할 수 있습니다. 페이스 북의 문서에서

발췌 :

여러 응용 프로그램 또는 실행 교차 응용 프로그램 프로모션에서 동일한 사용자 ID를 매핑해야하는 경우

, 우리는 새로운 API가 비즈니스 매핑 API를 호출 추가했습니다. 이렇게하면 동일한 비즈니스가 해당 앱을 모두 소유하고있는 경우 로그인 된 사용자의 ID를 앱 전체에 매핑 할 수 있습니다.

+0

감사! Business Mapping API에 대해 알지 못했지만 귀하가 제 질문에 전체적으로 대답했다고 생각합니다. – mwilson

+0

다른 기기의 동일한 앱 ID에 대해 userId가 동일한 지 확인할 수 있습니다. –

+0

첫 번째 답변이 내 하루를 저장했습니다. 두 번 로깅 한 후 내 DB에서 두 개의 다른 UID를 보았을 때 놀랐습니다.내 Prod 및 Dev 환경에 2 개의 다른 응용 프로그램 ID를 사용했으며 ID가 시간에 따라 변경 될 수 있다고 생각했습니다. 하지만 내 sdk 초기화에서 2 가지 앱 ID를 설정했기 때문입니다. 당신은 전문가가 아닐지도 모르지만 당신은 분명히 그것을 찍었습니다! :) – Matias