2012-01-06 2 views
0

페이스 북의 로그인 상태를 확인하기 위해 다음 코드를 작성했습니다. response.authResponse is null

FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    var user_id = response.authResponse.userID; 
    var page_id = "app_id"; 
    var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id; 
    var the_query = FB.Data.query(fql_query); 
    the_query.wait(function(rows) { 
       if (rows.length == 1 && rows[0].uid == user_id) { 
        alert("liked the page"); 
       } 
       else { 
        alert("not liked "); 
       } 
      }); 
    } 
    else if (response.status === 'not_authorized') { 

    } 
    else 
    { 
    alert("not logged in"); 
    } 
}); 
if (response.status === 'connected') {} 일부 섹션 즉하지만 난 else if (response.status === 'not_authorized') {} 부분에 response.authResponse 널을 얻고 있다면 내가 먼저 response.authResponse에 대한 값을 얻고

,

사람은 그것에 대해 어떤 생각을해야합니까?

도와주세요. 당신이 연결되지 않은 경우이 논리적 보인다 허가하지 않은 것 때문에

답변

1

이 좋아하는 얻을 수있는 그래프를 호출 할 수 있으려면 ... ... null의 경우, 당신이 필요합니다 사용자가 user_likes 권한으로 앱을 추가/인증하도록 허용 한 다음 읽을 수 있습니다. 따라서 위의 코드에서 두 개의 else 사례 중 하나에 해당하는 경우 FB.login()을 호출하거나 페이지에 fb 로그인 버튼을 표시하십시오.

사용자가 앱을 추가/인증하도록하지 않으려면 앱을 Page Tab 앱으로 구성한 다음 signed_request (https : //developers.facebook)를 가져와야합니다. co.kr/docs/authentication/signed_request /)을 읽고 사용자가 귀하의 앱이 페이지 탭이라는 페이지를 좋아 하는지를 알 수있는 액세스 권한을 해독합니다.

+0

signed_request는 정말 트릭을 만들었습니다. DMCS에게 감사드립니다. – mack

1

authResponse 객체가

+0

내 FB 페이지를 방문하는 모든 사용자는 하나의 팝업이 제공되며 팝업 버튼을 클릭 할 때만 팝업이 사라집니다.이 작업을 수행했지만 하나의 FB 사용자 만 사용하고 있습니다. 이 페이지의 관리자입니다. 다른 모든 사용자는 'not_authorized'상태를 반환합니다. – mack