用户ID不使用facebook php sdk返回

时间:2014-02-21 14:24:32

标签: php facebook facebook-graph-api

$this->_facebookObj = new Facebook($config); 
try
{
   $this->_userId = $this->_facebookObj->getUser();
}
catch(Exception $e)
{
}

我尝试使用正确的应用程序ID和密钥在本地计算机上运行此示例代码。 但响应显示我需要一个活动的访问令牌。所以我登录了Facebook, 然后我成功获得用户ID。 但每当我从Facebook退出时,我都无法运行上面的示例代码。我认为这是因为会议。

当用户的登录会话不可用时,我们如何运行以上API?

我尝试了以下内容:

$this->_facebookObj->getAccessToken();
$this->_facebookObj->setAccessToken(); 

在制作getUser() API之前。

1 个答案:

答案 0 :(得分:0)

您应该查看this answer,因为它解释了身份验证系统的工作原理。

那就是说,你可以通过以下方式获得userId:

$facebook = new Facebook($config);

if (!$facebook->getUser())
{
    // Cannot access the user account
}

// try to access the user on the fb api
try
{
    $fbUser = $facebook->api('/me');
    $id = $fbUser['id'];
}
catch (\Exception $e)
{
    // Session expired, ask the user to log in again...
}