Facebook PHP SDK 3.x,有时不会给我用户ID

时间:2012-05-04 08:26:41

标签: php facebook-php-sdk

嘿我正在开发一个fb画布应用程序,这个应用程序就像一个控制面板,如果你单击一个按钮,你会去应用程序的其他部分等,

我使用facebook的用户ID,以确定用户是否可以使用该应用程序,因为只是为了几个人,所以我的问题是facebook有时会给我用户ID,有时候不会,我使用这个简单的代码

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
  'cookie' => true,

));

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

if ($user){ $auth=true; }else{ $auth=false; }

此代码位于我在每个文件中包含的“config.php”内,然后我使用$ auth来确定用户是否可以看到我想要的信息,并且它总是在主页面中工作,但有时候当我跳转到应用程序的其他页面(包括config.php)时,它不会给我userId,而奇怪的部分是有时它会

我试图在会话中存储它,但我意识到当它没有显示用户ID时,也没有任何会话:S

1 个答案:

答案 0 :(得分:0)

编辑:对不起,我没注意到你正在开发一个画布应用程序。然而,我离开这里,告诉你提取用户标识是不够的。

处理Facebook身份验证的最简单方法可能是在您的网站上集成JS-lib and a login-button。 php SDK将“自动”识别auth会话,因此您不必:)

另一方面,使用ID不足以对用户进行身份验证。您应该使用图表API获取me,以确保用户已对您的应用进行了身份验证:

try {
    $user_profile = $facebook->api('/me','GET');
} catch (Exception $e) {
    //Not authenticated
}