我无法通过Facebook PHP SDK对用户进行身份验证。成功Facebook身份验证后无法检索用户ID
基本上我想显示一个“用facebook登录”按钮,如果用户还没有通过身份验证。否则,请提供用户名称。这里是代码:
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'XXX',
'secret' => 'XXX',
'cookie' => true
));
$userId = $facebook->getUser();
var_dump($userId);
if ($userId) {
$userInfo = $facebook->api('/' . $userId);
echo "Welcome, {$userInfo['name']}";
} else {
echo '<a href="' . $facebook->getLoginUrl() . '">' .
'<img src="images/icon_facebook_login.png" alt="Login with Facebook" /></a>';
}
麻烦是我总是得到0从$facebook->getUser()
。我查看了base_facebook.php
中的代码,并且在处理该函数时,预计将在返回URL中请求参数signed_request
。我在URL Facebook返回的唯一参数是code
和state
。
任何想法,我可能会搞砸了吗?提前致谢。
编辑:正如ogi
建议我做与code
PARAM一个手工制作的请求graph.facebook.com/oauth/access_token
,我确实收到access_token
。现在,剩下的唯一问题就是如何通过PHP SDK来完成这个任务?
感谢您的回答,ori。我收到'access_token'。现在,如何通过PHP SDK进行此请求? – 2012-02-19 22:29:41