2013-03-06 123 views
0

即时通讯使用PHP SDK让用户授权我的应用程序。有点棘手的是我,我在一个标签中做这个。重定向uri将打破标签'iframe',只是作为一个普通的应用程序打开,我不想要这个。我怎么能让它保持在页面标签iframe中。下面是我的代码;facebook PHP SDK redirect_uri页面标签

<?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

如果你需要以用户身份登录,而无需他/她离开你的标签,你可以使用javascript SDK(你可以调用函数FB.login()将打开弹出式)。

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

+0

我想继续使用php。我试着将它重新导向到标签,但是这与ipad有关。 – 2013-03-06 09:37:34

+0

ipads的问题究竟是什么? – Darvex 2013-03-06 09:41:05

+0

我试着将其重新导向到选项卡的主页面(http://www.facebook.com/pagename/app_3917315842xxxx),但是当我点击按钮转到主页面时,它会一直返回到选项卡网址。 – 2013-03-06 09:44:40