我看了其他问题,我尝试了一些答案,但我的脚本根本不起作用。我正在尝试使用FB Connect在我的页面中登录用户。
但是函数getUser每次都返回0,这是我的代码:
$session = $this->fb->getUser();
print_r ( $session );
// Session based API call.
if ($session) {
try {
// check if user exists
$login = (object)loadModel("Login");
if ( $user = $login->oAuthLogin("facebook", $session) ) {
// is logged in
print_r ( $user );
$login_controller = (object)loadController("Login");
$login_controller->saveLoguedUser($user, true);
} else {
$me = $this->fb->api('/me');
print_r ( $me );
// create user
$user = array (
"oauth_provider" => "facebook",
"oauth_userid" => $session,
"name" => $me['name'],
"email" => $me['email']
);
$users = (object)loadModel("Users");
if ( $user = (object)$users->create($user) ) {
print_r ( $user );
$login_controller = (object)loadController("Login");
$login_controller->saveLoguedUser($user, true);
} else {
echo "NO creado";
}
}
} catch (FacebookApiException $e) {
error_log($e);
}
} else {
//header("Location: http://web.loc" );
$url = $this->getLoginUrl();
echo '<script type="text/javascript">top.location.href="'.$url.'"</script>';
}
这是脚本在用户clic登录后执行,因为我使用函数getLoginUrl获取URL,并在登录FB后重定向到此脚本。
我尝试了FB中的示例脚本并正常工作......我不知道发生了什么。