1
我有一个Facebook页面 我已经建立了一个应用程序是在页面标签 的应用程序正常工作与原来的URL 它在facebook登录并返回到URL里面认证Facebook应用获得的Facebook页面
我怎么能从用户那里得到authintication而不用改变“iframe里面的url”?
require_once("facebook.php");
$facebook = new Facebook(array(
'appId' => 'App_id',
'secret' => 'Secret'));
$current_user = $facebook->getUser();
$params = array('scope' =>'email,user_likes,user_friends');
if ($current_user) {
try {
$expiration = time() + 172800;
$cookie_value = $current_user . '|' . $expiration;
setcookie('fbid', $cookie_value, $expiration , "/");
echo '<script type="text/javascript">
window.location = "like.php";
</script>';
} catch (FacebookApiException $e) {
$login_url = $facebook->getLoginUrl($params);
echo '<script type="text/javascript">
window.location = "' . $login_url . '";
</script>';
exit;
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl($params);
echo '<script type="text/javascript">
window.location = "'.$login_url.'";
</script>';
exit;
}
如果你想从一个页面标签的应用程序中调用通过URL登录对话框,那么你必须做的是,在顶部窗口实例 - 'top.location.href ='login-url';'但是在page tab/canvas apps中处理登录的更方便的方法是嵌入JS SDK,并使用它的'FB.login'方法。这并不需要重定向到不同的URL,而是通过简单的覆盖显示登录对话框 - 更好的用户体验。 – CBroe