Php 检查Facebook登录状态:客户端与服务器端
在我正在创建的网站中,我需要检查用户是否登录到facebook。我有两种可能性。我可以在服务器端使用如下PHP代码进行操作:Php 检查Facebook登录状态:客户端与服务器端,php,javascript,facebook,Php,Javascript,Facebook,在我正在创建的网站中,我需要检查用户是否登录到facebook。我有两种可能性。我可以在服务器端使用如下PHP代码进行操作: $facebook = new Facebook(array( 'appId' => _FACEBOOK_APP_ID, 'secret' => _FACEBOOK_SECRET, 'cookie' => true)); $me = $facebook-&g
$facebook = new Facebook(array(
'appId' => _FACEBOOK_APP_ID,
'secret' => _FACEBOOK_SECRET,
'cookie' => true));
$me = $facebook->api("/me");
if (isset($me["id"]) {
// User is logged in.
} else {
// User is not logged in.
}
FB.getSession();
if (session != null) {
// User is logged in.
} else {
// User is not logged in
}
或者,我可以在客户端使用如下javascript进行操作:
$facebook = new Facebook(array(
'appId' => _FACEBOOK_APP_ID,
'secret' => _FACEBOOK_SECRET,
'cookie' => true));
$me = $facebook->api("/me");
if (isset($me["id"]) {
// User is logged in.
} else {
// User is not logged in.
}
FB.getSession();
if (session != null) {
// User is logged in.
} else {
// User is not logged in
}
我想知道这两种方法的优缺点是什么。我想主要的区别是,在客户端,客户端和facebook之间建立了连接。在服务器端,它位于您的服务器和facebook之间。因此,如果您在服务器端执行所有操作,那么服务器的负载可能会很高
$facebook->getSession();
)检查用户是否“登录到Facebook”并不意味着他“已连接到您的应用程序/网站”
我建议您再读一次,以便更好地理解API。我只想指出,您展示的JavaScript替代方案已被弃用,不再有效,docs链接(http://developers.facebook.com/docs/reference/javascript/FB.getSession/)重定向到新的getAuthSession()函数以处理OAuth2 截至2011年12月13日,JavaScript SDK现在只支持OAuth 2.0进行身份验证 在JSSDK中启用OAuth 2.0的功能于7月份首次引入。所有应用程序都提供到 2011年10月1日进行测试和迁移。通过此更改,请确保您正在使用 FB.getAuthResponse以获取访问令牌,而不是FB.getSession。请阅读有关特定会话的详细信息 改变她