facebook PHP SDK redirect_uri到页面选项卡

时间:2013-03-06 08:56:30

标签: php facebook sdk tabs

我正在使用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>';
}

?>

1 个答案:

答案 0 :(得分:0)

如果您需要登录用户而不让他/她离开您的标签,您可以使用javascript SDK(您可以调用函数FB.login(),这将打开弹出窗口)。

如果你想继续使用php,在你的“普通应用程序”(在Facebook上的iframe中打开的页面),你可以简单地重定向到Facebook上的标签。因此,在用户登录并重定向到您的页面后,您将其重定向回Facebook标签页。