2013-09-07 3 views
0

내가 페이스 북의 오픈 그래프의 연결에 대해 읽고 토큰을 얻을 실패 - 지금까지 내가 알기로, 로그인 절차가 3 단계에서 구성됩니다페이스 북 그래프 로그인 - 웹 사이트 통합,

  1. 로부터의 로그인 URL을 가져옵니다 우리가

  2. 실제 로그인을 수행하고 우리가 애플 리케이션 페이스 북 개발자 페이지

    에 정의 된 사이트로 리디렉션 페이스 북의 로그인 페이지로 이동하는 링크를 클릭하면 사용자 정의 로그인 버튼 을 만들기 위해 페이스 북의 API 호출
  3. 이 페이지에서 우리는 실제 결과를 처리해야합니다. 문제는 다음과 같습니다. 토큰의 유효성을 검사하기 위해 토큰을 사용하고 fb 페이지에 대한 새로운 요청을해야한다는 것을 이해했습니다 (아래 참조).

이 후에는 실제 세부 정보를 얻지 만이 토큰 요청을 실행할 수 없으므로 진행 방법이 확실하지 않습니다.

$ch = curl_init("http://graph.facebook.com/oauth/access_token? client_id=".$facebook_config['appId']."  
                  &client_secret=".$facebook_config['secret']." 
                  &redirect_uri=".urlencode(SITE_DOMAIN)."/facebook_login_processor.php 
                  &code=".$_GET['code']); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_NOSIGNAL, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 30000); 
$data = curl_exec($ch); 
$curl_errno = curl_errno($ch); 
$curl_error = curl_error($ch); 
curl_close($ch); 

if ($curl_errno > 0) 
{ 
    echo "cURL Error ($curl_errno): $curl_error\n"; 
} 
else 
{ 
    echo $data; 
} 

은 내가 redirect_uri과 관련하여 오류가 발생 - 어떻게 든 검증 받고 있지 않습니다. '비 공개 웹 사이트에 노력하고있어

{"error":{"message":"Missing redirect_uri parameter.","type":"OAuthException","code":191}} 

곰 염두에 (도메인이 서버에서 내 호스트 만 registred이다는 파일). 이것은 문제를 부과 하는가?

난 어떤 도움을 주셔서 감사하고 여러분의 관심에 감사 드리며

리카르도

시 도움 : 죄송합니다 오류에 대해 - 내가 전화 해요

페이스 북 PHP SDK를 기반으로
+1

가능한 한 [Facebook API 오류 191] (http://stackoverflow.com/questions/4691782/facebook-api-error-191) – CBroe

+0

고마워요, 조사 할 것입니다 :) – Consolas

+0

문제는 다른 곳에서 발생했으나 너의 대답이 나를 도와 줬어. 당신의 관심에 감사 드리며, 다시 한 번 감사드립니다. CBroe – Consolas

답변

1

의 아래의 스크립트는 단순히 내 웹 사이트에서 잘 작동합니다.

 
    <?php 
    require_once "lib/facebook.php"; 

    $scope = "create_note,email friends_groups,friends_interests"; 
    $redirecturl = "https://www.mysite.com/callback.php"; 

    $facebook = new Facebook(array('appId' => APP_ID,'secret' => APP_SECRET)); 
    $authurl = $facebook->getLoginUrl(array('scope' => $scope, 'redirect_uri' => $redirecturl); 

    header("Location:$authurl"); 

    ?> 

다음 callback.php에

 
    <?php 
    require_once "lib/facebook.php"; 

    $facebook = new Facebook(array('appId' => APP_ID,'secret' => APP_SECRET)); 
    $user = $facebook->getUser(); 
    if ($user) { 
     try { 
     $user_profile = $facebook->api('/me'); 
     } catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
     } 

     if (!empty($user_profile)) { 
     print_r($user_profile); 
     // or do something here 
     } 
    } 
    ?> 

참고 : 당신은 APP_ID 및 APP_SECRET을 정의해야합니다.

+0

안녕하세요. 당신의 도움을 주셔서 대단히 감사합니다. 이미 로그인 작업을 관리하고 있습니다. 공유 및 좋아하는 데 문제가 있습니다. :) 아직도, 당신의 도움과 시간이 대답을 주셔서 감사합니다 !! :) – Consolas

+0

현재 fb api와 함께 일하고 있습니다. emunu.com에서 웹 사이트에 PHP SDK를 어떻게 적용했는지 알고 싶다면 체크 아웃 예제를 참조하십시오. 도움이 필요하면 도와 드리겠습니다. – wpsidi