0

Facebookアプリのキャンバスページで、auth_tokenに関するこれらすべてのphpエラーが発生し、リダイレクトされて正常に機能するため、これは奇妙なことです。誰かが私がこれを好意的に理解するのを手伝ってくれる?ページの上部にある私のphpコードは次のとおりです。

$app_id = "181247432419054";
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$my_url = "https://apps.facebook.com/wellnessq/";
session_register();
session_start();


if (!isset($_REQUEST["code"]))
{
 $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
 $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
   . $app_id . "&redirect_uri=" . urlencode($my_url) . "&scope=email&state="
   . $_SESSION['state'];

 echo("<script> top.location.href='" . $dialog_url . "'</script>");
 }
 $code = $_REQUEST['code'];
{
 $token_url = "https://graph.facebook.com/oauth/access_token?"
   . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
   . "&client_secret=" . $app_secret . "&code=" . $code;

 $response = file_get_contents($token_url);
 $params = null;
 parse_str($response, $params);

 $graph_url = "https://graph.facebook.com/me?access_token=" 
   . $params['access_token'];

 $user = json_decode(file_get_contents($graph_url));
}

?> 

最初のエラーメッセージは$code= $_REQUEST['code']で始まります。その後、さらにいくつかが続きます。レピュテーションポイントが少なすぎるため、スクリーンショットを投稿できません= / grrrしかし、エラーメッセージは次のとおりです。

注意:未定義のインデックス:D:\ Extranet \ www.mysite.com \ manager \ here \ core.functions.php(663)のコード:19行目のeval()のコード

警告:file_get_contents(https://graph.facebook.com/oauth/access_token?client_id=181247432419054&redirect_uri=https%3A%2F%2Fapps.facebook.com%2Fwellnessq%2F&client_secret=xxxxxxxxxxxxxxxxx&code=)[function.file-get-contents] :ストリームを開くことができませんでした:HTTPリクエストが失敗しました!HTTP / 1.0 400 D:\ Extranet \ www.mysite.com \ manager \ here \ core.functions.php(663)の不正なリクエスト:25行目のeval()コード

注意:未定義のインデックス:D:\ Extranet \ www.mysite.com \ manager \ here \ core.functions.php(663)のaccess_token:30行目のeval()コード

警告:file_get_contents(https://graph.facebook.com/me?access_token=)[function.file-get-contents]:ストリームを開くことができませんでした:HTTPリクエストが失敗しました!HTTP / 1.0 400 D:\ Extranet \ www.mysite.com \ manager \ here \ core.functions.php(663)の不正なリクエスト:32行目のeval()コード

ありがとう!

4

1 に答える 1

0

exit;タグをエコーし​​た直後にステートメントを追加する必要があります<script>。Facebook のサンプル コードの多くで、この見落としに気付きました。通常はそれほど問題にはなりませんが、リダイレクトが必要だと判断したら、他のことをやめて、ブラウザがリダイレクト スクリプトを処理する時間を確保する必要があります。

于 2011-10-05T23:44:26.413 に答える