어려운 문제가 있습니다. 어려운 것은 전체 FBJS SDK 설명서와 함께 StackOverflow 및 그물을 검색하여 대답을 찾지 못했음을 의미합니다.FB.getLoginStatus가 콜백 함수를 실행하지 않습니다.
저는 팬들에게 rsvp 이벤트를 허용하고 싶은 페이지 탭 애플리케이션을 구축하고 있습니다. 그래서 사용자가 로그인했는지, 로그인하지 않았는지 확인해야합니다. 꽤 쉽게 들리지만 FB.getLoginStatus는 콜백 함수를 시작하지 않습니다. 이 코드 발췌 한 것입니다
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
후 나는 단순히 - 버튼을 사용자가 클릭 후 물론 - FB.getLoginStatus 부르지 만, 아무것도하지 않는 것 같다.
이미 샌드 박스 모드, FB.init 성공, 애플리케이션 설정 및 개발 환경의 URL을 확인했습니다. FB.ui를 호출 할 수 있습니다. FB.ui 메서드를 사용하면 : 'oauth'오류 메시지가 나타납니다. "redirect_uri"매개 변수는 "next"매개 변수와 함께 사용할 수 없습니다.이 매개 변수는 사용되지 않습니다. " 내가 "다음"매개 변수를 사용하지 않았기 때문에 어느 것이 매우 이상합니다. 그러나 내가 정의되지 않은 다음 집합을 설정하면 잘 작동하지만 창은 표시되지만 "주어진 URL은 응용 프로그램 구성에서 허용되지 않습니다."라는 메시지가 표시됩니다. 그걸 기다리면 로그인 할 수 있습니다. 그러면 access_token을 얻었습니다. 그러나 새 창에서 getLoginStatus는 여전히 아무 것도하지 않습니다.
모든 조언을 환영합니다.
감사합니다, 타마스
UPDATE :
function onBodyLoad() { //on body onload
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
}
...
function getName() { // on button onclick
FB.getLoginStatus(function(response){
if (response.authResponse)
{
window.loggedIn = true;
debugString('Logged in');
} else
{
window.loggedIn=false;
debugString('Not logged in');
}
}, true);
if (window.loggedIn === undefined) {
debugString('getLoginStatus did not exec'); // I always get this message
}
}
업데이트 2 : 나는 독립 웹 사이트로 구성되어 다른 URL에 새로운 앱을 만들어 . 이 코드는 완벽하게 작동합니다. getLoginStatus를 사용할 수 있습니다. 로그인 할 수 있습니다. FB의 컨텍스트에서 작업하고 FB JavaScript SDK를 사용하여 독립 실행 형 웹 사이트에서 어떤 차이가 있습니까? FB JS SDK Documentation에서
FB.getLoginStatus(function(response) {
if (response.authResponse) {
// logged in and connected user, someone you know
} else {
// no user session available, someone you dont know
}
});
: 사용자가 로그인되어있는 경우
더 많은 코드를 제공해 주시겠습니까? – ifaour