2010-12-03 8 views
5

私はFacebookアプリ開発の初心者です。"検証コードの形式が無効です。" 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

が、私はこのエラーを受け取る:私は、私はこのURLを使用しようとしています、認証の問題で立ち往生しています 「無効な検証をコード形式。

私は過去3時間の間にそれを解決しようとしており、結果はありません。私はこのメッセージをGoogleにしようとしますが、明らかにその人気はありません。

助けてもらえますか?

編集: 私はこの関数を使用します。

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; 
} 
} 

その後、私は、パラメータとしてURLを渡す:

$ URL = "https://graph.facebook.com/oauth/access_token?client_id= $ client_idの& client_secret = $ client_secret &タイプ= client_credentials & REDIRECT_URI = http://www.mywebsite.com/facebook/&scope=email,offline_access ";

echo get_contents($url);

+0

と使用しているコードは? – Breezer

+0

は、すべての変数が設定されていることを確認するために、echo get_contents($ url)を呼び出す前に$ urlをエコーすると便利です。 –

+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呼び出しに(codeパラメータを介して)渡すことができる照会文字列の中にoAuthアクセストークンを交換するためのredirect_uriにリダイレクトします。

幸運を祈る! :)

+0

ありがとう、ありがとう。あなたが説明したプロセス(私が間違った方法を読んでいたと思います)の前に、そのページを10回以上読みました。 1つの質問しかし、私はリダイレクトの代わりに、私はfacebookのボタンを得るヘッダー(場所:xxxx)を使用してリダイレクトしようとしています。それをクリックすると、私は正しいページに連れて行くだろう。この問題を解決するにはどうすればいいですか –

+0

興味深いことに、Facebook JavaScript SDK(http://developers.facebook.com/docs/authentication/#single-sign-on-with-the-javascript-sdk)を使用しているようです?その場合、適切なインクルード(all.js)とスクリプト(FB.initなど)が適切に配置されていれば、コードはoAuth 2.0で直接認証する必要があります(つまり、上記の呼び出しは必要ありません)。上記のリンクされたページに示されているように、 'auth.login'イベントに登録して、ユーザーが認証されるとコールバックでリダイレクトすることができます。 JavaScript SDKを使用していない場合は、タグを削除してみてください。 – Robarondaz

+0

ありがとうございます。私は実際にPHP SDKを使用しています。私はアプリのどの部分でもjsを使ったことはありません。 www.mywebsite.com/folder(これはアプリケーションのファイルを保存する場所です)のように直接アクセスすると、権限ページである正しいページが表示されます。 –

関連する問題