0

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

?>
4

1 回答 1

0

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

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

于 2013-03-06T09:25:22.503 回答