2010-02-21 6 views
0

내 웹 응용 프로그램이 열려 있고 Facebook.com이 열려 있고 Facebook.com에서 로그 아웃 할 때 발생하는 Facebook 연결을 사용하는 웹 응용 프로그램에 오류가 있습니다. 내 앱과 Facebook Connect 라이브러리는 세션이 더 이상 유효하지 않다는 것을 알지 못하기 때문에 유효한 세션이 필요한 특정 Facebook Connect 기능을 사용자에게 시도 할 때 '세션 키가 유효하지 않거나 더 이상 유효하지 않습니다.'라는 메시지와 함께 'FacebookRestClientException'메시지가 표시됩니다. ' 가장 좋은 방법은 PHP 응용 프로그램에 대한이 사건을 처리하는 것입니다 궁금해.Facebook Connect에서 사용자 로그 아웃 처리

Google 검색에서 사용자가 로그인했는지 확인하기 위해 Facebook 서버를 핑하는 JS 기능이 있지만 서버 측 솔루션이 필요하다는 것을 발견했습니다.

답변

1

사용 :

$fb_user=$facebook->get_loggedin_user(); 

이렇게하면 로그인 한 사용자의 facebook_uid 말하거나 로그인하지 않은 경우 false를 반환합니다

예 :.

$fb_user=$facebook->get_loggedin_user(); 

if($fb_user) 
{ 
    try{ 
     $setstatus = $facebook->api_client->users_setStatus(
      $status, 
      $facebook_uid 
      ); 
     echo 'status has been updated'; 
    }catch (Exception $e) { 
     if($e->getCode() === 102) 
     { 
      // user is not logged in 
      echo 'you must log in to update your status'; 
     } 
     log_error($e->getMessage()); // log your error so you can fix it if you need to 
    } 
}else{ 
    echo 'you must log in'; 
} 
+0

나는이 값이 서버 측의 페이스 북 객체에 설정되어 저장되어 있다고 생각한다. 사용자는 Facebook.com에서 로그 아웃 했으므로 사용자가 실제로 로그 아웃하더라도 facebook_uid를 반환합니다. 나는 이것을 위해 밖으로 시도하고 작동하지 않습니다 ... – jhchen

+0

그 경우에 당신은 오류를 잡을 수있는 반환을 확인하십시오. 내 오류 로그에서 '세션 키가 유효하지 않거나 유효하지 않습니다'라는 메시지가 반환됩니다. 그걸 확인하고 싶을 수도 있습니다. – Jayrox

+0

페이스 북의 반환 : 오류 : 102 일정 : 설명 API_EC_PARAM_SESSION_KEY : 모든 방법에 대한 이상 사용할 수없는 세션 키가 유효하지 않거나 세션이 102 수표로 업데이트 – Jayrox

0

내가에서 CodeIgniter의를 사용하기 때문에 내 프로젝트, 나는 this library을 사용하여 Facebook Connect를합니다. Facebook의 예제 코드를 따르기 만하면됩니다. 그럼 난 그냥 flow herea guide here을 따르십시오. 로그 아웃 할 때, 나는 또한 페이스 북에서 로그 아웃을한다. 그렇지 않으면 페이스 북 세션이 내 응용 프로그램과 다시 로그인 한 사용자에 의해 다시 감지 될 수있다.

관련 문제