$ user = $ facebook-> getUser()每次都返回0。我使用的是最新的SDK

时间:2013-01-20 21:06:14

标签: php facebook facebook-authentication

使用以下代码检查用户是否已登录Facebook。

<?php

// Awesome FB APP 
// Name: MyAPP 

require_once 'facebook.php';// this line calls our facebook.php file that is the 
//core of PHP facebook API
// Create our Application instance.

$facebook = new Facebook(array(

  'appId' => '250941738370233',

  'secret' => 'xxx',

  'cookie' => true,

)); // all we are doing is creating an array for facebook to use with our 

$user = $facebook->getUser();
echo $user;
//app id and app secret in and setting the cookie to true
if($user){
try {
  $user_profile = $facebook->api('/me');

} catch (FacebookApiException $e) {

  error_log($e);
  $user=null;

} // this code is saying if the session to the app is created use 
}
//the $me as a selector for the information or die

?>

但$ user每次都回复0。我在这一点上严重陷入困境。有人可以帮助我。

2 个答案:

答案 0 :(得分:3)

  

使用以下代码检查用户是否已登录Facebook。

我怀疑那是你的问题。

您无法检查访问您应用的任何用户是否已登录Facebook - 如果用户之前已连接,则您只会获得有关用户的信息。而且由于我在你的代码中看不到任何类似内容,我认为你之前没有以任何方式触发它。

所以,请在这里开始阅读文档:https://developers.facebook.com/docs/technical-guides/login/

答案 1 :(得分:0)

预计获得0。在获得该功能时,您应该将用户重定向到登录URL。如果你这样做,用户将获得你见过的那些应用程序授权屏幕之一,之后它们将被重定向到你指定的whatevef url。

查看提供的链接,同时查看http://www.facebookanswers.co.uk/?p=229,我在那里提供了一些示例。

我的链接中的示例确实需要更新,但如果你看,你会看到它检查getuser是否返回false,如果是,则跳转到登录页面。