2012-01-04 15 views
1

我使用JavaScript SDK知道,如果用戶登錄並使用FB.getLoginStatus()函數連接到我們的網站」應用程序。 我想知道如果php-sdk提供了有關用戶登錄Facebook的詳細信息。 如果用戶登錄Facebook和連接到我們的應用程序,我必須讓他們能夠直接登錄我們的網站。 這怎麼能使用php sdk完成。Facebook的PHP-SDK提供相同的功能的JavaScript FB.getLoginStatus

在此先感謝。

回答

1

你可以做到以下幾點:

$user_details=$fb->api_client->users_getInfo($fb_user, array('last_name','first_name','pic_square')); 

是的,他們確實有類似的事情的FB.getLoginStatus():)

$params = array(
    'ok_session' => 'https://www.myapp.com/', 
    'no_user' => 'https://www.myapp.com/no_user', 
    'no_session' => 'https://www.myapp.com/no_session', 
); 

$next_url = $facebook->getLoginStatusUrl($params); 

這裏找到它:https://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/

+0

唯一正確的答案 – 2013-11-25 16:19:56

0

根據文檔(https://github.com/facebook/facebook-php-sdk),後做:

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

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
)); 

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

要檢查用戶是否仍然記錄在Facebook上(一種FB.getLoginStatus的),你需要:

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
0

正如@DMCS指出此功能可用於: http://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/

  1. 你根兒吃了一個url:$ next_url = $ facebook-> getLoginStatusUrl();
  2. 將用戶重定向到這個網址:標題( '位置:' $ next_url。);
  3. 用戶將通過FB有關的登錄狀態的會話信息(POST)返回
  4. SDK將解析返回$ _ POST信息
  5. 使用$ facebook->的getUser();獲得用戶ID(如果登錄)

到目前爲止好。唯一的問題是,這一功能自被Facebook過渡到OAuth2.0的(4點)被打破,也看到了這個bug報告: http://developers.facebook.com/bugs/295348980494364

所以請讓FB知道你有同樣的問題,加入再現。

乾杯!間在網上嘗試查詢通過令牌等所有rubish

相關問題