2011-11-14 231 views
0

我試圖拉用戶名,身份證號碼,性別,生日,用戶名,好友列表和其他一些關於用戶的信息。從Facebook獲取信息圖

繼承人我的代碼:

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me?fields=id, username, gender, birthday, friends', 'GET'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

的唯一的事情是,當田= id是唯一的參數,它纔會起作用。 有沒有另一種方法我應該這樣做?

+0

用戶很可能沒有爲您授予查看其生日和/或朋友的權限,因此API拒絕了該請求。嘗試'/我?fields = id,用戶名',看它是否工作。如果確實如此,那我相信這是你的問題。 – Paulpro

回答

1

我一直在爲我的應用程序使用Facebook API,我設法創建了一個簡單的類,也許這種方法會幫助你。

public function getUserInfo($fields = null) 
{ 
    if($fields == null) 
    { 
     $fields = array('first_name','last_name','profile_update_time','current_location', 'sex', 'birthday', 'pic_square'); 
    } 

    return $this->facebook->api_client->users_getInfo($this->fbUser, $fields); 
} 

基本上$this->Facebook = new Facebook($this->apiKey, $this->secretKey);$this->fbUser = $this->facebook->getUser();

希望這有助於!

+0

謝謝曼努埃爾代碼。我無法工作。但我刪除了參數陣列中的間距,除了生日之外,其他所有的東西都可以使用但那可能是像保羅所說的那樣的許可。 –

+0

現在我添加了訪問令牌,因此一切都按預期工作。感謝大家的支持和見解。 –