У меня есть логин с facebook на моем сайте. Некоторое время это работало хорошо, но вчера внезапно перестало работать. Я отслеживал проблему с методом getUser(), который, как представляется, всегда возвращает 0.
мой код выглядит следующим образом:
<?php
require_once('facebook.php');
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
));
$user = $facebook->getUser();
if ($user) {
try {
$profile = $facebook->api('/me');
$logoutUrl = $facebook->getLogoutUrl(
array(
'next'=>$baseUrl.'/fblogin/fblogin.php?logout'
)
);
$userIsLoggedIn=true;
} catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
$user = null;
$loginUrl = $facebook->getLoginUrl(
array(
'scope'=>'email,publish_stream',
'redirect_uri'=>$returnAfterLoginUrl
)
);
}
}else{
$loginUrl = $facebook->getLoginUrl(
array(
'scope'=>'email,publish_stream',
'redirect_uri'=>$returnAfterLoginUrl
)
);
}
?>
То, что я пытался (и может найти обратно в моей истории)
- Обновление SDK до последней версии
- раствором Facebook PHP SDK - getUser() suddenly returns 0 (добавление 2 $ CURL_OPTS)
- Решение suddenly, getUser became to return 0.(PHP 3.1.1 SDK) (добавление base_domain в $ DROP_ QUERY_PARAMS)
- Решение Facebook login is suddenly not working anymore? (увеличение curlopt_connecttimeout)
- Создание нового приложения, без удачи
Я использую PHP версии 5.3.3
Я пытался получить его работу с вчерашнего дня, без везения :(
Кто-нибудь знает, что может быть проблемой и, что более важно, каково может быть решение?
Спасибо
Спасибо за ваш ответ, Изолированный режим отключен и правильность настроек (он работал нормально в течение нескольких недель до вчерашнего дня). Изменение loginUrl вроде бы не принесет пользы, потому что в моей сфере нет $ this? – user6
, так что происходит после того, как пользователь перенаправляется на вход в facebook и входит в систему? это работает? – drarkayl
После того, как пользователь предоставил соответствующие разрешения для приложения, он вернется на сайт, где getUser() все равно вернет 0 :( – user6