2013-01-03 3 views
0

페이스 북에 사용자 로그인을하고 사용자 ID를 경고에 표시하려고합니다.간단한 Facebook 로그인 스크립트가 작동하지 않습니다.

그러나이 코드에서는 아무 것도 반환하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

<html>                                          
    <head>                                          
    <title>Login to Facebook</title>                                     
    </head>                                         
    <body> 
     <div id="fb-root"></div> 
     <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
      appId  : 'APP ID', 
      channelUrl : 'http://www.mydomain.net/zoozTest/channel.html', 
      status  : true, 
      cookie  : true, 
      xfbml  : true, 
      oauth  : true, 
      }); 
     }; 
     (function(d){ 
      var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
      js = d.createElement('script'); js.id = id; js.async = true; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      d.getElementsByTagName('head')[0].appendChild(js); 
     }(document)); 

     //LOGIN FUNCTION 
     function login() { 
     FB.login(function(response) { 
      if (response.authResponse) { 
       alert('Success!'); 
      }else{ 
       alert('Login Failed!'); 
      } 
     }, {scope: 'email'}); 
    } 
     </script> 
     <div onclick="login();">Login with Facebook</div> 
    </body>                                         
</html> 
+0

이 링크 확인 - http://facebook.stackoverflow.com/a/9938388/842850 – sadik

+0

이제 팝업이 표시되지만 오류가 발생했습니다. 나중에 다시 시도 해주십시오. – CodingIsAwesome

+0

가능한 [Facebook javascript SDK FB.login이 Facebook iFrame에서 작동하지 않음] (http://stackoverflow.com/questions/9820362/facebook-javascript-sdk-fb-login-is-not-working-in-facebook -iframe) –

답변

1

귀하의 코드는 그대로 복사되어 있습니다. 세 가지 :

1 : 바보 같은 질문이지만 'APP ID'를 실제 앱 ID로 바꿨습니까? 그렇지 않으면 오류가 발생합니다.

2 : 앱 설정을 확인하십시오. 앱 도메인과 'facebook login'URL이있는 웹 사이트를 올바르게 지정 했습니까?

3 : 기술적으로 경쟁 조건이 있습니다. FB JS SDK가 초기화 (비동기 적으로로드)되기 전에 'Facebook에서 로그인'div를 클릭하고 login() 함수를 실행하려고하면 전역 FB 객체가 정의되지 않으므로 오류가 발생합니다. 나는 window.fbasyncinit 함수의 하단에 console.log를 붙여서 FB가 정의되고 있는지 확인한다. (테스트를 위해, 프로덕션을 위해 페이스 북을 방문하기 전에 로그인을 차단하거나 일부를 빌드하려고 할 것이다. 전역 FB 객체가 사용되기 전에 정의되었는지 확인하고 대기열에 추가하지 않는 경우)를 확인하는 일종의 대기열입니다.

자바 스크립트 콘솔에 오류가 있습니까?

관련 문제