Facebook SDK PHP вход в систему Неверный запрос

Я пытаюсь создать вход в FB с помощью PHP. URL-адрес моего приложения: http://example.com. URL-адрес перенаправления: http://example.com/login/facebook/

Это мой код для создания URL-адреса входа в http://example.com:

    $fb = new \Facebook\Facebook([
        'app_id'     => FB_APP_ID,
        'app_secret' => FB_APP_SECRET,
        'default_graph_version' => 'v2.2',
    ]);

    $callback = 'http:// example.com/login/facebook/';
    $helper = $fb->getRedirectLoginHelper();
    $permissions = ['email'];
    $data['fb_url'] = $helper->getLoginUrl($callback, $permissions);

Я получаю URL-адрес и устанавливаю его в ссылку, по которой пользователь может щелкнуть и войти в систему.

Это мой код в URL-адресе перенаправления (http://example.com/login/facebook/):

    $fb = new Facebook\Facebook([
        'app_id' => FB_APP_ID, // Replace {app-id} with your app id
        'app_secret' => FB_APP_SECRET,
        'default_graph_version' => 'v2.2',
    ]);

    $helper = $fb->getRedirectLoginHelper();

    try {
        $accessToken = $helper->getAccessToken();
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }

    if (! isset($accessToken)) {
        if ($helper->getError()) {
            header('HTTP/1.0 401 Unauthorized');
            echo "Error: " . $helper->getError() . "\n";
            echo "Error Code: " . $helper->getErrorCode() . "\n";
            echo "Error Reason: " . $helper->getErrorReason() . "\n";
            echo "Error Description: " . $helper->getErrorDescription() . "\n";
        } else {
            header('HTTP/1.0 400 Bad Request');
            echo 'Bad request';
        }
        exit;
    }

Код взят из примера здесь - FB SDK DOCS, но я получаю эту ошибку :

Неверный запрос

и токен доступа = NULL. Где ошибка и как исправить?


person gdfgdfg    schedule 01.05.2016    source источник
comment
Вход в Facebook через Javascript намного проще. Для этого php-подхода убедитесь, что вы заменили идентификатор и секрет приложения и используете session_start() в начале обоих файлов. Кроме того, вы можете попробовать добавить некоторые проверки здесь: developers.facebook. com/docs/php/howto/   -  person profimedica    schedule 18.10.2016


Ответы (1)


Я предполагаю, что код и состояние параметров GET недоступны на странице перенаправления. Попробуйте сделать var_dump $_GET на странице перенаправления и посмотреть, есть ли они там.

person Jørgen    schedule 06.09.2016