Я пишу интеграцию входа в Facebook с использованием PHP SDK и сталкиваюсь с вышеуказанной ошибкой.
На нашей главной странице у нас есть следующий код для запроса public_profile
а также email
,
$fb = new Facebook\Facebook([
'app_id' => '{our_app_id}',
'app_secret' => '{our_app_secret}',
'default_graph_version' => 'v2.4']);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['public_profile', 'email'];
$loginUrl = $helper->getLoginUrl('http://oursiteurl/includes/fbcallback.php/',
$permissions);
Этот код открывает новое окно, обрабатывает вход в Facebook, авторизует разрешения приложения и отправляет нас обратно fbcallback.php
, Пользователи могут не раскрывать свою электронную почту нашему приложению, но в нашем приложении обязательно должна быть электронная почта. Так fbcallback.php
оценивает, получили ли мы письмо. Если это так, мы вводим новую запись в нашу базу данных; если нет, я хочу предоставить опцию для повторного запроса разрешений электронной почты. Для этого я пытаюсь следующее:
$fb = new Facebook\Facebook([
'app_id' => '{our_app_id}',
'app_secret' => '{our_app_secret}',
'default_graph_version' => 'v2.4']);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['public_profile', 'email'];
$accessToken = $helper->getAccessToken();
$redirect = "http://media.pvplive.com/includes/fbcallback.php/";
$loginUrl = $helper->getLoginUrl($redirect, $permissions, TRUE);
По сути, я возвращаюсь к fbcallback.php
, но на этот раз с rerequest
флаг установлен в TRUE
, Я не получаю жалоб на посадку на fbcallback.php
в первый раз, но когда я нажимаю на ссылку для нового $loginUrl
выдает следующую ошибку:
Length of param app_id must be less than or equal to 32
Я не смог найти никаких ответов, объясняющих эту ошибку или что нужно исправить, чтобы избавиться от нее. Я использую ответ, предоставленный Вот для кода для запроса разрешений, уже запрещенных с помощью PHP SDK.
Задача ещё не решена.
Других решений пока нет …