2010-03-29 2 views
0

Facebook API에서 래퍼 함수를 ​​만들려고합니다. API 메서드를 연결합니다.Facebook에서 값을 반환하는 방법 Javascript connect API 함수

제 문제는 Facebook API FB_RequireFeatures 메소드 내에서 값을 반환 할 수 없다는 것입니다.

페이스 북에 로그인했는지 여부에 따라 isFBConnected() 함수가 true 또는 false를 반환하도록하고 싶습니다.

내가 사실로 돌아 왔을 때 자식 함수로 반환되는 것은 사실이지만, 전체적인 "로그인"변수는 true로 설정되지 않습니다.

페이스 북 연결이 끝나기 전까지 기다리는 시간 제한을 설정해 보았습니다.

어떤 도움이나 다른 해결책을 환영합니다!

내 isFBConnected 래퍼 함수가 아래에 적혀있다 :

기능 isFBConnected() {

var api_key    = '<?=$this->apiKey?>'; 
var channel_path  = '<?=$this->xdReceiver?>'; 
var host_url   = '<?=$this->hostUrl?>'; 
var servicePathShort = '<?=$this->servicePathShort?>'; 
var login    = false; 

FB_RequireFeatures(["Api"], function(){ 

    // Create an ApiClient object, passing app's API key and 
    // a site relative URL to xd_receiver.htm 
    FB.Facebook.init(api_key, channel_path); 

    var api = FB.Facebook.apiClient; 
    // If FB user session exists - load stats data 
    if(api.get_session()!=null){ 
     if(api.get_session().uid!='' && api.get_session().uid!=undefined){ 
      login = true; 
      alert(api.get_session().uid); 
      return true; 
     } 
    } 
    login = false; 
    return false; 
}); 

return false; 

}

답변

0

음, 첫째, 당신은 FB_RequireFeatures 기능의 두 번째 매개 변수는 콜백 함수 것을 알고, 즉, IsFBConnected 함수는 항상 false를 반환합니다. FB_RequireFeatures 함수가 정말로 필요합니까? 대신 FB.init을 직접 호출 할 수 있습니까?

관련 문제