2013-03-01 3 views
2

fb.php:Facebook GetUser() всегда возвращает 0 [PHP SDK 3.1.1]

ini_set('display_errors','On'); 
error_reporting(E_ALL); 
require_once 'facebook/src/facebook.php'; 

$facebook = new Facebook(array (
    'appId' => '****', 
    'secret' => '****', 
    'cookie' => true 
) 
); 

$user = $facebook->getUser(); 

if ($user) { 
    var_dump($user); 
    $logoutUrl = $facebook->getLogoutUrl(); 

    print '<a href="'.$logoutUrl.'">Logout</a>'; 
} 
else { 
    $loginUrl = $facebook->getLoginUrl(); 
    print '<a href="'.$loginUrl.'">Login</a>'; 
} 

Это мой простой код; При щелчке на ссылке, и принять форму разрешения, то я перенаправлен на сценарий, и получить это Params: http://mydomain.com/fb.php?state=82e166c6a85fd3b44ad655851f885b73&code=AQCMo6L5z-K5juFl3cojl80KllKQ8JE2iKMaOFSmHhHgAFd_V-BfD8YZwbiKQasNuHSbcc4St-9B2gggwEMygn223u8BVK9zXKctEui-y20rcmydx-uf65sw5v6o4XN3k9Lnvtg0jg7h1C9XGC3S1sW32X65CI6kjbe7GXHICpMsT833wDxG1voS7enq9uYm1MGrp83ceTmKvoKGyn_iYby0#_=_

После этих вопросов, я нашел эту ссылку suddenly, getUser became to return 0.(PHP 3.1.1 SDK), но не работает для меня.

Я использую PHP 3.1 SDK версии 3.1.1.

¿Кто-нибудь знает, что здесь происходит?

+0

Вы поняли это? Я использую версию 3.2.2, ту же проблему ... – 82din

+0

http://www.thephpcode.com/blog/view/using-facebook-php-sdk-v.3.1.1-with-codeigniter-.html может помогите в этом. – Nishanthan

+0

вот ответ на ваш вопрос, это дублированный вопрос http://stackoverflow.com/a/25671780/612987 –

ответ

1

Пожалуйста, перепроверьте настройки снова включая appId, secret и убедитесь, что Sandbox Mode является отключен на ваших приложений приборной панели.

У меня была такая же проблема после изменения домена моего сайта. Хотя я правильно изменил параметр request_uri и обновил настройки своего приложения в новом домене, ошибка продолжалась. Затем я понял, что идентификатор и идентификатор SECRET моего Facebook APP автоматически изменились без предупреждения! Все это снова начало работать, используя новый идентификатор.

Некоторые эксперты заявили, что они столкнулись с такой же проблемой, как и вы из-за режима песочницы. На странице приложений для разработчиков Facebook убедитесь, что Sandbox Mode: отключен.

Другое дело, разрешение сфера вы можете установить следующее:

$pram = array(
      'scope' => 'user_birthday,read_stream', 
      'redirect_uri' => 'http://domain.com/some_where_else/' 
     ) 
$loginUrl = $this->facebook->getLoginUrl($pram); 

может быть, это поможет вам. спасибо.

+1

Работал для меня, спасибо. Весь день отладки ушел только потому, что один переключатель не был нажат ... –

Смежные вопросы