我正在使用PHP SDK让用户授权我的应用。有点棘手的是我在选项卡中做这个。重定向uri将打破选项卡'iframe',只是打开一个普通的应用程序,我不希望这样。如何将其保留在页面选项卡iframe中。下面是我的代码;
<?php
include("utility.php");
include("db_setup.php");
require_once "base_facebook.php";
require("facebook.php");
$facebook = new Facebook(array(
'appId' => 'xxxxxx',
'secret' => 'xxxxxx',
));
$conn = connectUserDB();
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
//$user_profile = $facebook->api('/me?fields=name,id,email');
header( 'Location: submitted.php' ) ;
} catch (FacebookApiException $e) {
//print_r($e);
$user = null;
}
}
// $user is null : $user is either not logged in or the token is not valid
else if(!$user) {
$params = array(
'scope' => 'email',
'redirect_uri' => 'submitted.php'
);
$loginUrl = $facebook ->getLoginUrl($params);
echo '<script type="text/javascript">';
echo 'top.location.href = " '.$loginUrl.' " ; ';
echo '</script>';
}
?>
答案 0 :(得分:0)
如果您需要登录用户而不让他/她离开您的标签,您可以使用javascript SDK(您可以调用函数FB.login(),这将打开弹出窗口)。
如果你想继续使用php,在你的“普通应用程序”(在Facebook上的iframe中打开的页面),你可以简单地重定向到Facebook上的标签。因此,在用户登录并重定向到您的页面后,您将其重定向回Facebook标签页。