0

사용자가 페이스 북에 로그온 할 때 크롬 확장을 사용하여 간단한 경고 창을 표시하려고합니다. 자바 스크립트 sdk 초기화 코드 및 또한 내 background.html 페이지에서 로그인 상태를 얻을 코드가 있습니다. 내 manifest.json 파일이 배경 페이지를 올바르게 호출합니다.크롬 확장 프로그램을 통해 javascript를 사용하여 페이스 북 인증

background.html 페이지에 중단 점을 배치 할 수 없습니다. 이 내가 자바 스크립트 페이스 북 SDK를 선언하고 사용자가 로그인 한 경우 확인에 대해 이동하는 방법 경우 내가 알고 싶은

<div id="fb-root"></div> 

<script src="http://connect.facebook.net/en_US/all.js"></script> 

<script> 

window.fbAsyncInit = function() { 
    FB.init({ 
     appId : 'my App id (i have my app id)', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 
    }; 

    (function() { 
    var e = document.createElement('script'); 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 

FB.getLoginStatus(function(response) { 
    if (response.authResponse) { 
      alert("logged in");} 
    else { 
     // no user session available, someone you dont know                            
    } 
}); 

</script> 
+1

는이 작업을 수행하는 가장 좋은 방법을 찾았나요? :) – TigrouMeow

답변

2

당신은 당신의 코드에서 많은 문제를 가지고 설명 먼저 그것을 수정하고 있습니다. :

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'your app id', 
     status: true, 
     cookie: true, 
     xfbml: true, 
     channelUrl : 'http://WWW.MYDOMAIN.COM/channel.html', 
     oauth : true 
    }); 

    FB.getLoginStatus(function(response) { 
     if (response.authResponse) { 
       alert("logged in");} 
     else { 
      // no user session available, someone you dont know                            
     } 
    }); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

이제 점은 고려해야 할

  1. Javascript SDK documentation
  2. 사용에게 oauth 플래그를 읽기 OAuth 2.0
  3. 수 있도록 당신은
  4. 가 착용 할 것 (내가 여기에 비동기 적으로로드 해요) 비동기로드하거나 표준 방법 있지만 둘 중을 사용하거나 필요로하는 모든 페이스 북이 fbAsyncInit
  5. 에 호출 채널 파일을 추가
  6. 이 기사 one 읽기
  7. ,이 이후 two
+0

안녕하세요 ifaour, 채널 URL 이외의 권장 사항을 구현했습니다. 부가 기능이므로 구현되었습니다. 하지만 페이스 북에 로그인 할 때이 경고 창이 표시되지 않습니다. 또한 inspect 요소 창에 'fb-root'가 표시되지 않습니다. – Praveen

+0

Fb.getloginStatus() 외부에서 호출하면 경고 창이 나타납니다 – Praveen

+0

[this] (http://codepad.org/Ip66G79A)를 사용해 볼 수 있습니까? Facebook에 로그인 한 상태에서이 페이지를로드하면 * 로그인 상태가됩니다. – ifaour

0

이 배경 페이지에서 수행되고, 당신은 THER 배경 페이지 헤드리스이기 때문에 인증이 다른 페이지에서 수행되고 있는지 확인해야 e는 UI가 아닙니다. 그러면 사용자가 승인을 클릭하면 어떻게됩니까?

페이스 북 API를 모르지만 OAuth2이므로 "facebook_auth.html"이라는 별도의 html 페이지를 만들고 거기에 인증 코드를 삽입하십시오. 승인 된 후에는 ifaour가 명시한대로 따르십시오. 그는 그가하고있는 일을 알고있는 것 같습니다. 배경 페이지에서 인증에 대한 새 탭 (chrome.tabs.create)이 열립니다.

이 튜토리얼에서 살펴보고 페이스 북에 적용 : 가 http://code.google.com/chrome/extensions/tut_oauth.html

+0

감사합니다 mansour. 나는 그것을 들여다 볼 것이다. – Praveen

관련 문제