我制作了一个Facebook应用程序,当从apps.facebook.com/myapp
打开时,可以完美地指向我的域名的index.php,并且可以在Facebook应用程序窗口中查看,但是当我尝试将其重定向到我的注册页面时,它会被重定向到我的域名,我希望所有页面都在Facebook应用程序窗口中查看。尝试使用fb:redirect SDK函数,但网站说他们将废弃这些代码。
<?php
if(preg_match('/apps.facebook.com/',$_SERVER[HTTP_REFERER])){
$app_id = '';
$api_key = '';
$app_secret = '';
$canvas_page = 'mydomain/index.php';
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=".
$app_id."&redirect_uri=".urlencode($canvas_page)."&scope=email,user_birthday,user_interests,user_about_me";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload,'-_', '+/')), true);
if (empty($data["user_id"])){
echo("<script> top.location.href='".$auth_url ."'</script>");
}else{
$canvas_page="mydomain/register.php";
echo ("<script> top.location.href='".$auth_url."'</script>");
}
}else{
echo "No facebook";
}
?>
代码在
$canvas_page
设置为 Facebook 应用程序开发表单中设置的页面时运行得非常完美,但当将 $canvas_page
更改为我的 register.php 页面时会被重定向到其他页面。 我错在哪里了?提前感谢您。