2013-05-10 35 views
13

tôi tiếp tục nhận được lỗi trong tiêu đề, trong khi sử dụng một mã đơn giản:Một truy cập hoạt động thẻ phải được sử dụng để truy vấn thông tin về người dùng hiện

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); 

tôi thực sự không biết làm thế nào để giải quyết nó, Tôi đã tìm kiếm và thử nhiều câu trả lời trên stackoverflow

+1

Hãy làm theo hướng dẫn trên liên kết này: - http://stackoverflow.com/questions/11776234/an -active-access-token-phải-được-sử-dụng-truy-tin-thông tin-về-hiện-người-sử-dụng/18252089 # 18252089 –

Trả lời

2

Bạn cần đặt mã thông báo truy cập để có thể nhận dữ liệu hoặc hành động thay mặt cho người dùng. Bạn đang trải qua một luồng đăng nhập để cho phép ủy quyền cho ứng dụng Facebook của bạn?

Hãy thử ví dụ tại https://developers.facebook.com/docs/reference/php/facebook-api/

Nó cung cấp luồng đăng nhập rất cơ bản mà sẽ cấp quyền truy cập vào các dữ liệu bạn đang tìm kiếm.

2

bạn cần phải kiểm tra nếu đã đăng nhập nếu không chuyển hướng người dùng để đăng nhập liên kết

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')); 
} 
Các vấn đề liên quan