Не знаю, в чем проблема, я знаю, что документы FB не очень хорошие, но я получил ошибки, чтобы прекратить благодарность некоторым сайтам, исправляющим ошибки FB. Но когда я помещаю getLoginUrl() на странице, как будто это говорит о том, что я ничего не получаю. Когда я ничего не говорю, я имею в виду пустую страницу.facebook getLoginUrl() ничего не делает
Вот тестовый скрипт (с приложением # и секретными # удален):
define('FACEBOOK_SDK_V4_SRC_DIR', '/facebook');
require_once('Facebook/FacebookSession.php');
require_once('Facebook/FacebookRedirectLoginHelper.php');
require_once('Facebook/FacebookRequest.php');
require_once('Facebook/FacebookResponse.php');
require_once('Facebook/FacebookSDKException.php');
require_once('Facebook/FacebookRequestException.php');
require_once('Facebook/FacebookAuthorizationException.php');
require_once('Facebook/GraphObject.php');
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
FacebookSession::setDefaultApplication('app number', 'secret number');
// FACEBOOK LOGIN STUFF
$helper = new FacebookRedirectLoginHelper('http://www.prayerpond.com/index.php');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(Exception $ex) {
// When validation fails or other local issues
}
?>
<html>
<head>
</head>
<body>
<?PHP echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>'; ?>
</body>
</html>
Если это помогает, когда я пытаюсь повторить результаты на моей фактической странице я получаю следующее сообщение об ошибке:
Fatal error: Call to a member function getLoginUrl() on a non-object in
Теперь я получаю эту ошибку все внезапно:
Fatal error: Uncaught exception 'Facebook\FacebookSDKException' with message 'Session not active, could not store state.' in /home/wiseman/public_html/Facebook/FacebookRedirectLoginHelper.php:254 Stack trace: #0 /home/wiseman/public_html/Facebook/FacebookRedirectLoginHelper.php(97): Facebook\FacebookRedirectLoginHelper->storeState('da3d6565ec97ed5...')
1 /home/wiseman/public_html/test.php(77): Facebook\FacebookRedirectLoginHelper->getLoginUrl() #2 {main} thrown
in /home/wiseman/public_html/Facebook/FacebookRedirectLoginHelper.php on line 254
Похоже, что ваш объект '$ helper' не инициализирован правильно ... Поместите' echo $ ex-> getMessage() 'в свои блоки' catch' и посмотрите, есть ли какие-либо ошибки. –
Добавьте 'session_start () 'в начало вашего скрипта –