2013-05-28 6 views
2

Я прочитал все темы на этом форуме, но я не могу найти решение ..Facebook Php SDK - GetUser() возвращает всегда 0

я использую последний Php SDK на Facebook: v3.2.2.

Так что я использовал это:

//start fb 
$facebook = new \Facebook(array( 
    'appId' => $fb_app_id, 
    'secret' => $fb_app_secret, 
    'cookie' => true, 
)); 

// get id user-fb 
$fbUser = $facebook->getUser(); 

if ($fbUser) { 
    try { 
     $fbUserProfile = $facebook->api('/me'); // take user-infos 
     $friends = $facebook->api('/me/friends'); // take his friend 

    } catch (FacebookApiException $e) { 
     error_log($e); 
     $fbUser = null; 
    } 
} 

if ($fbUser) { 
    $logoutUrl = $facebook->getLogoutUrl(array('next' => ('my-url'))); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array(
     'canvas' => 1, 
     'fbconnect' => 0, 
     'scope' => 'email,offline_access,publish_actions', 
     'req_perms' => 'publish_stream,email', 
     'redirect_uri' => 'my-redirect-url' 
     )); 
} 

Так что я не понимаю, что это неправильно .. Когда я проверить это, первый раз, когда я могу нажать на loginUrl и получить разрешение. но когда я снова пытаюсь getUser, снова функция $facebook->getUser() return 0, и я снова получил loginUrl, но когда я нажимаю на ссылку, я просто перенаправляю URL-адрес обратного вызова.

Я не уверен, что приложение facebook для этого нужны специальные параметры. Мои app_id и app_secret на 100% уверены.

+0

Вы вошли в систему facebook? –

+0

Также проверьте: http://stackoverflow.com/questions/15168764/facebook-getuser-always-returns-0-php-sdk-3-1-1?rq=1 –

+0

да, я подключен к facebook на то же время – flobrflo

ответ

1

Я решил эту проблему с помощью
$facebook->getLoginUrl(array( 'scope' => 'public_profile', 'redirect_uri' => 'http://www.your_domain/current_page.php' ));
где 'http://www.your_domain/current_page.php' является той же странице, где я бегу этот код
NB using Facebook php sdk 3.2.3

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