내 앱의 사용자에 대한 고유 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에 익숙하지 않고 조언을 구하기 위해 전문가를 찾고 있습니다.
감사! Business Mapping API에 대해 알지 못했지만 귀하가 제 질문에 전체적으로 대답했다고 생각합니다. – mwilson
다른 기기의 동일한 앱 ID에 대해 userId가 동일한 지 확인할 수 있습니다. –
첫 번째 답변이 내 하루를 저장했습니다. 두 번 로깅 한 후 내 DB에서 두 개의 다른 UID를 보았을 때 놀랐습니다.내 Prod 및 Dev 환경에 2 개의 다른 응용 프로그램 ID를 사용했으며 ID가 시간에 따라 변경 될 수 있다고 생각했습니다. 하지만 내 sdk 초기화에서 2 가지 앱 ID를 설정했기 때문입니다. 당신은 전문가가 아닐지도 모르지만 당신은 분명히 그것을 찍었습니다! :) – Matias