获取特定文件中的facebook帐户值
我使用了facebook php sdk,我想在另一个文件中获取该值,因此我给出了重定向路径,在登录后,它将出现在页面上,但$user为空,当我刷新页面时,我获得了该值。我的代码如下 从登录页面调用的位置:获取特定文件中的facebook帐户值,facebook,facebook-php-sdk,facebook-authentication,facebook-login,Facebook,Facebook Php Sdk,Facebook Authentication,Facebook Login,我使用了facebook php sdk,我想在另一个文件中获取该值,因此我给出了重定向路径,在登录后,它将出现在页面上,但$user为空,当我刷新页面时,我获得了该值。我的代码如下 从登录页面调用的位置: $facebook = new Facebook(array('appId' =>FB_APP_ID ,'secret' => FB_APP_SECRET)); $scope=
$facebook = new Facebook(array('appId' =>FB_APP_ID ,'secret' => FB_APP_SECRET));
$scope='email,user_birthday,user_location,user_work_history,user_about_me,user_hometown';
$parameters=array("redirect_uri"=>"http://www.xyz.com//test.php","scope"=>$scope);
$login_url= $facebook->getLoginUrl($parameters);
php如下所示
$facebook = new Facebook(array(
'appId' => '224402951020359' ,
'secret' => 'd2731260cdd7425dc11eee5f265a3dee'
));
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_data = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
print_r($user_data);
如何在第一次获得该值。在您的test.php页面上,测试$用户,如果为true,则再次重定向到loginurl。。。下面是我在代码中为避免同样的问题所做的事情
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_birthday,user_location'
)
);
if ($user) {
try {
//get user basic description
$userInfo = $facebook->api("/$user");
$fb_access_token = $facebook->getAccessToken();
} catch (FacebookApiException $e) {
//you should use error_log($e); instead of printing the info on browser
error_log('Sharebox: '.$e); // d is a debug function defined at the end of this file
$user = null;
}
}
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
$loginUrl=$facebook->getLoginUrl(
排列(
'范围'=>'电子邮件、发布流、用户生日、用户位置'
)
);
如果($user){
试一试{
//获取用户基本描述
$userInfo=$facebook->api(“/$user”);
$fb_访问令牌=$facebook->getAccessToken();
}捕获(FacebookApiException$e){
//您应该使用错误日志($e);而不是在浏览器上打印信息
错误_log('Sharebox:'。$e);//d是在此文件末尾定义的调试函数
$user=null;
}
}
如果(!$user){
echo“top.location.href='$loginUrl';”;
出口
}
希望这有帮助