2013-05-10 8 views
13

Wciąż otrzymuję ten błąd w tytule, a za pomocą prostego kodu:Aktywny token dostępu musi być użyty do uzyskania informacji o aktualnym użytkownikiem

require_once('sdk/src/facebook.php'); 
require_once("AppInfo.php"); 
function idx(array $array, $key, $default = null) { 
    return array_key_exists($key, $array) ? $array[$key] : $default; 
} 
function he($str) { 
    return htmlentities($str, ENT_QUOTES, "UTF-8"); 
} 
$facebook = new Facebook(array(
    'appId' => AppInfo::appID(), 
    'secret' => AppInfo::appSecret(), 
    'sharedSession' => true, 
    'trustForwarded' => true, 
)); 

$arrayForJSON=array(); 
$user = $facebook->getUser(); 
$friends = idx($facebook->api('/me/friends'), 'data', array()); 
if ($friends) { 
    $arrayForJSON['friends']=$friends; 
} 
print_r($friends); 

ja naprawdę nie wiem jak go rozwiązać, Szukałem i próbowałem wielu odpowiedzi na stackoverflow

+1

Należy postępować zgodnie z instrukcjami na ten link: - http://stackoverflow.com/questions/11776234/an -aktywny-dostęp-token-musi-być-używany-do-zapytania-informacja-o-bieżącym-użytkowniku/18252089 # 18252089 –

Odpowiedz

2

Musisz ustawić token dostępu, aby móc pobierać dane lub działać w imieniu użytkownika. Czy przechodzisz przez proces logowania, aby zezwolić na autoryzację twojej aplikacji na Facebooku?

Spróbuj przykład w https://developers.facebook.com/docs/reference/php/facebook-api/

Zapewnia bardzo podstawowy przepływ logowania, które zezwalają na dostęp do danych, jesteś stara.

2

trzeba sprawdzić, czy już się zalogować, jeżeli nie przekierować użytkownika linkiem do zalogowania

require '../src/facebook.php'; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => '191149314281714', 
    'secret' => '73b67bf1c825fa47efae70a46c18906b', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

// We may or may not have this data based on whether the user is logged in. 
// 
// If we have a $user id here, it means we know the user is logged into 
// Facebook, but we don't know if the access token is valid. An access 
// token is invalid if the user logged out of Facebook. 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    // $user_profile = $facebook->api('/me'); 
    $friends = idx($facebook->api('/me/friends'), 'data', array()); 

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

// Login or logout url will be needed depending on current user state. 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'offline_access')); 
} 
Powiązane problemy