如何从Facebook登录使用Facebook的用户数据php-sdk
问题描述:
我试图从Facebook登录api php sdk获取用户信息。这是我的配置脚本。 我试图用这个fb指导,但我仍然没有得到它的正确。如何从Facebook登录使用Facebook的用户数据php-sdk
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get('/me?fields=id,name', '{access-token}');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$user = $response->getGraphUser();
echo 'Name: ' . $user['name'];
我无法获取用户的数据。请帮我解决我犯错的地方。
<?php
if(!session_id()){
session_start();
}
// Include the autoloader provided in the SDK
require_once __DIR__ . '/facebook-php-sdk/src/Facebook/autoload.php';
// Include required libraries
use Facebook\Facebook;
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Exceptions\FacebookSDKException;
/*
* Configuration and setup Facebook SDK
*/
$appId = '1698023223833500'; //Facebook App ID
$appSecret = 'e4113b39035af477669c40c9c87bc17b'; //Facebook App Secret
$redirectURL = 'http://localhost/'; //Callback URL
$fbPermissions = array('email'); //Optional permissions
$fb = new Facebook(array(
'app_id' => $appId,
'app_secret' => $appSecret,
'default_graph_version' => 'v2.2',
));
// Get redirect login helper
$helper = $fb->getRedirectLoginHelper();
// Try to get access token
try {
if(isset($_SESSION['facebook_access_token'])){
$accessToken = $_SESSION['facebook_access_token'];
}else{
$accessToken = $helper->getAccessToken();
echo $accessToken;
}
} catch(FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
?>
答
试试下面的代码
$me = $response->getGraphUser();
$fullname = $me->getProperty('name');
+0
如何合并这两个代码为一体。因为第一个代码是来自facebook指南,第二个代码是创建一个。在secind代码中,我没有任何$响应。 – Mohammed
+0
@MohammedSabir你不需要第二个代码中的$响应 –
您还没有登录用户在任何地方的代码...... – CBroe