我正在使用javascript sdk通过使用FB.getLoginStatus()函数来了解用户是否登录并连接到我们的网站'应用程序。 我想知道php-sdk是否向我提供了登录facebook的用户的详细信息。 如果用户登录Facebook并连接到我们的应用程序,我必须让他们直接登录我们的网站。 如何使用php sdk完成。
提前致谢。
答案 0 :(得分: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/
答案 1 :(得分:0)
只需检查GitHub页面上的示例/用法: https://github.com/facebook/facebook-php-sdk
答案 2 :(得分: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;
}
}
答案 3 :(得分:0)
如@DMCS所述,应使用此功能: http://developers.facebook.com/docs/reference/php/facebook-getLoginStatusUrl/
到目前为止一切顺利。唯一的问题是,自从Facebook过渡到oAuth2.0以来,此功能(第4点)已被破坏,另请参阅此错误报告: http://developers.facebook.com/bugs/295348980494364
因此,请通过添加复制品让FB知道您有同样的问题。
干杯!