getLoginStatusUrl()不适合我

时间:2013-06-04 18:14:29

标签: php facebook-php-sdk

请原谅我这个愚蠢的问题。我试图在PHP SDK中使用getLoginStatusUrl函数,但我不确定我是否理解它应该正确执行的操作。我按照他们的说法进行了函数调用:

$params = array(
'ok_session' => 'myapp.com/',
'no_user' => 'myapp.com/no_user',
'no_session' => 'myapp.com/no_session',
);

$next_url = $facebook->getLoginStatusUrl($params);

使用以下命令检查错误日志中的$ next_url:

error_log((string)$next_url);

显示如下:

http://www.facebook.com/exter/login_status.php?api_key=XXXXXXXXXXXXXXX0&no_session=http%3A%2F%2Fmyapp.com&no_user=http%3A%2F%2Fmyapp.com&ok_session=http%3A%2F%2Fmyapp.com&session_version=3

然而,这并没有真正告诉我我想知道什么,这是用户是否登录。我知道还有另一种方法来检查用户是否应该登录,但那种方法对我不起作用。有时,它会在用户实际未登录时返回用户的用户ID(当应该返回null时)。因此,我想使用此函数,getLoginStatusUrl作为备份,以防万一失败。

有人可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:0)

getLoginStatusUrl()将根据用户在Facebook上的登录状态返回一个URL。在您的情况下,如果用户已登录,则会显示myapp.com/页面,如果用户退出Facebook,则会显示myapp.com/no_user页面,如果用户未连接(包括不是Facebook用户) )然后会显示myapp.com/no_session页面。因此,您将通过显示的页面知道用户是否登录。
该功能只是根据用户当前的Facebook状态重定向到指定的URL(在$params中列出)。