Вот регистрационный код:
FacebookSession::setDefaultApplication('x','x');
$helper = new FacebookRedirectLoginHelper('http://xx.com/en/auth/facebooklogin');
$loginUrl = $helper->getLoginUrl(array(
'scope' => 'email'
));
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper ( 'Redirector' );
$redirector->gotoUrl ( $loginUrl )->redirectAndExit ();
А вот и код перенаправления:
FacebookSession::setDefaultApplication('x','x');
$helper = new FacebookRedirectLoginHelper('http://xx.com/en/auth/facebooklogin');
$session = null;
try {
$session = $helper->getSessionFromRedirect();
Core::session('FacebookAuthSession')->sessionObject = $session;
} catch(FacebookRequestException $ex) {
} catch(\Exception $ex) {
}
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObject = $response->getGraphObject();
Я прочитал это, используя getLoginUrl
функция изменяет состояние, однако она используется в другой области, чем код перенаправления, поэтому она не используется более одного раза.
Вот ошибка:
Исправляемая фатальная ошибка: Аргумент 1, переданный в Facebook \ FacebookRequest :: __ construct (), должен быть экземпляром Facebook \ FacebookSession, с нулевым значением
Следует отметить, что регистрация на Фейсбуке, а также логин на Фейсбуке начинаются с кода регистрации.
Задача ещё не решена.
Других решений пока нет …