2010-12-03 4 views
5

나는 초보자 용 Facebook 앱 개발 중입니다. 내가 인증 문제에 끼 었어, 나는이 URL을 사용하는 것을 시도하고있다 :"유효하지 않은 인증 코드 형식입니다." facebook oauth error

https://graph.facebook.com/oauth/access_token?client_id= $ CLIENT_ID & client_secret = $ client_secret & 유형 = client_credentials & redirect_uri로 = http://www.wesbite.com/facebook/&scope=email,offline_access

을하지만 난이 오류가 나타납니다 "잘못된 검증 코드 형식. "

저는 지난 3 시간 동안 아무런 결과도 얻지 못했습니다. 나는이 메시지를 Google에 시도하지만 분명히 인기가 있지는 않습니다.

도와 주실 수 있습니까?

편집 :

$의 URL = "https://graph.facebook.com/oauth/access_token?client_id= $ CLIENT_ID & client_secret = $ client_secret & 유형 = client_credentials & redirect_uri로 : 나는 매개 변수로 URL을 통과 한 후

function get_contents($link) 
{ 
if (function_exists('curl_init')) { 
    $curl = curl_init(); 
    $timeout = 0; 
    curl_setopt($curl, CURLOPT_URL, $link); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $buffer = curl_exec($curl); 
    curl_close($curl); 
    return $buffer; 
} elseif (function_exists('file_get_contents')) { 
    $buffer = file_get_contents($link); 
    return $buffer; 
} elseif (function_exists('file')) { 
    $buffer = implode('', @file($link)); 
    return $buffer; 
} else { 
    return 0; 
} 
} 

: 나는이 기능을 사용 = http://www.mywebsite.com/facebook/&scope=email,offline_access ";

echo get_contents($url);

+0

및 사용하는 코드는 무엇입니까? – Breezer

+0

은 echo get_contents ($ url)을 호출하기 전에 $ url을 echo하여 모든 변수가 설정되어 있는지 확인하는 것이 유용 할 수 있습니다. –

+0

나는 그것을했고, 또한 두 배의 값을 확인했고 모두 정확하다. –

답변

9

나는 다음과 같은 링크가 답을 제공합니다 생각 : http://developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application

당신은 당신의 CLIENT_ID 및 redirect_uri로와 https://graph.facebook.com/oauth/authorize를 호출하는 첫번째 필요. 이렇게하면 코드 문자열로 https://graph.facebook.com/oauth/access_token 호출로 전달할 수있는 쿼리 문자열의 인증 코드와 함께 redirect_uri로 리디렉션됩니다 (code 매개 변수를 통해). 그러면 oAuth 액세스 토큰을 교환 할 수 있습니다.

행운을 빈다. :)

+0

대단히 고마워. 귀하의 설명을하기 전에 10 번 이상 그 페이지를 읽었습니다 (나는 잘못된 길을 읽고 있었다고 생각합니다). 하나의 질문이지만, 리다이렉트 대신 페이스 북 버튼을받는 대신 헤더 (위치 : xxxx)를 사용하여 리디렉션하려고합니다. 그것을 클릭하면 오른쪽 페이지로 나를 데려 갈 것이다. 어떻게하면이 문제를 해결할 수 있습니까? –

+0

흥미 롭습니다. Facebook 자바 스크립트 SDK (http://developers.facebook.com/docs/authentication/#single-sign-on-with-the-javascript-sdk)를 사용하는 것 같습니다. ? 그렇다면 올바른 include (all.js) 및 스크립트 (예 : FB.init)가있는 경우 코드가 oAuth 2.0 (즉, 위의 호출이 필요 없음)으로 직접 인증되어야합니다. 위의 링크 된 페이지에서 볼 수 있듯이 'auth.login'이벤트에 가입하고 사용자가 인증되면 콜백으로 리디렉션 할 수 있습니다. JavaScript SDK를 사용하지 않는 경우 태그를 제거하십시오. – Robarondaz

+0

감사합니다. 실제로 PHP SDK를 사용하고 있습니다. 나는 애플 리케이션의 어떤 부분에서 js를 사용한 적이 없다. www.mywebsite.com/folder (앱의 파일을 저장하는 곳)와 같이 앱에 직접 액세스하면 권한 페이지 인 올바른 페이지가 표시됩니다. –

관련 문제