0

サーバーサイドアプリのログインの例に従いましたが、何らかの理由$_REQUEST['code']で常に空白になっています。そのため、私はすでに同意したdialog / oauthのリダイレクトの無限ループになり、したがって無限ループになります。誰かが問題が何であるか知っていますか?

配列をエコーアウトする$_REQUESTと、「signed_request」と「PHPSESSID」がすべて含まれています。前もって感謝します。

$code = $_REQUEST['code'];
if (empty($code))
{
    // Create the CSRF protection
    $_SESSION['state'] = md5(uniqid(rand(), true));

    // Set the permissions to request for
    // additionally from the standard user information
    // refer to documentation on other permissions
    //$request_permissions = "email,user_birthday";

    $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" . $options['appId'] . "&redirect_uri=" . $redirect_uri . "&state=" . $_SESSION['state'];
    echo "<script>top.location.href='" . $dialog_url . "'</script>";
}

編集:また、メモ:$ codeはURLに入力され、更新され続けます...多くの人がこれについて不満を言うのを見てきましたが、1年以上前であり、すべての手順を試したので、 SDKは、私を助けるためにそこに何があるかを確認しますが、これまでのところ、同様のことは何も行われていないようです...

4

1 に答える 1

0

私が最初に気付くのは、生成する変数が$dialog_url正しくフォーマットされていないことです。

これを試して:

$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' . $options['appId'] . '&redirect_uri=' . urlencode($redirect_uri) . '&state=' . $_SESSION['state'] . '&scope=' . $request_permissions;

これは、Facebookのサーバー側アプリのログインページにあるようなものでもあります...

于 2013-01-25T19:59:24.047 に答える