2011-07-01 2 views
0

Facebook 인증에 문제가 있습니다.Facebook Graph API 문제

$fb_params = array(
'appId'  => APP_ID, 
'secret' => SECRET_ID 
); 
$fb = new Facebook($fb_params); 

echo $fb->getUser(); // UID 

사람의 아이디어를 가지고 : 나는 함수를 getUser() 반환

여기 내 코드의 0을 기록하고있어 경우에도?

PS : 당신은 현재로 인증되지 않은 '나는 $fb->api('/me')에는 긴 통로, 그것이 내가이 인증 문제에 링크 된 생각, 그것이 access_token 요구라고 할 수 없다 ...'

감사

답변

1

사용자로서 응용 프로그램으로 만 사용됩니다. 결과적으로 Facebook API는/me 페이지를 표시하거나 getUser() 호출에 응답 할 수 없습니다. 사용자가 대신 API에 액세스하려는 사용자를 알지 못하기 때문에 (즉, "Who is/me ? "). 또한 공개적으로 액세스 할 수있는 정보에만 액세스 할 수 있습니다.

사용자는 Oauth2를 통해 응용 프로그램을 인증하고 반환 된 access_token을 저장 한 다음 향후 호출에 포함해야합니다 (예 : WIRQjCey1.3600.1309525200.0-509450630 | eD6SAR "> https : // graph.facebook.com/me?access_token=2227470867|2.AQB-_ WIRQjCey1 .3600.1309525200.0-509450630 |. eD6SAR ...)

는 PHP SDK를 사용하여이 작업을 수행하려면, 당신은 할 수

$loginUrl = $fb->getLoginUrl(); 
echo "<a href='$loginUrl'>Login with Facebook</a>"; 

해당 링크를 클릭하고 사용자 인증을 받으면 access_token이 $ _SESSION에 저장되고 refreshth를 누르면 "new Facebook ($ fb_params);"생성자는 $ _SESSION에서 액세스 토큰을 선택하여 이후의 모든 호출에 사용하므로 $ fb-> getUser()와 같이 호출됩니다. 올바르게 돌아올 것입니다.

SDK의 examples 폴더에는 다음과 같은 작동 예제가 있습니다. https://github.com/facebook/php-sdk. 응용 프로그램 (공용 데이터 액세스 전용)으로 인증 된 다음 사용자로 전화를 걸 때 사용할 수 있습니다.