Php facebook重定向\u uri重定向到本地域而不是停留在facebook上

Php facebook重定向\u uri重定向到本地域而不是停留在facebook上,php,facebook,facebook-graph-api,facebook-php-sdk,Php,Facebook,Facebook Graph Api,Facebook Php Sdk,显示“请求权限”对话框后,我的facebook应用程序将不会停留在facebook上。它一直重定向到redirect_uri状态,这是显而易见的,但我的问题是如何让应用程序在facebook iframe中运行 我已尝试将重定向uri设置为,但这是不允许的,它显示错误 应用程序配置不允许给定URL。示例:应用程序的设置不允许一个或多个给定URL。它必须与网站URL或画布URL匹配,或者域必须是应用程序域之一的子域 我当前的代码 <?php require 'facebook/faceboo

显示“请求权限”对话框后,我的facebook应用程序将不会停留在facebook上。它一直重定向到redirect_uri状态,这是显而易见的,但我的问题是如何让应用程序在facebook iframe中运行

我已尝试将重定向uri设置为,但这是不允许的,它显示错误

应用程序配置不允许给定URL。示例:应用程序的设置不允许一个或多个给定URL。它必须与网站URL或画布URL匹配,或者域必须是应用程序域之一的子域

我当前的代码

<?php
require 'facebook/facebook.php';

// Get User ID
$facebook_config = array(
  'appId'  => '8**************3',
  'secret' => '5*************************d',
  'cookie'  =>  true
);

$facebook = new Facebook($facebook_config);

$user = $facebook->getUser();

$login_url = $facebook->getLoginUrl(array(
  'redirect_uri' => 'localhost';
  'scope'   =>  'user_location'
));

$logout_url = $facebook->getLogoutUrl();

if($user)
{
    $user_profile = $facebook->api('/me');
    header("Content-Type:text/plain");
    print_R($user_profile);
    die();
}
else if(!$user)
{
    echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
}
?>
您可以删除这一行:“重定向_uri”=>“localhost”

因为,在登录后,如果redirect_uri中没有提及任何内容,它将自动重定向到同一页面


如果你想转到其他页面,比如success.php,你应该给重定向uri wrt画布url,即这个页面的实际url,而不是

感谢您的回答,但当“重定向_uri”=>localhost;被删除后,它仍然重定向到localhost并被卡住

我做了一个快速修复,重定向回facebook

$token = $_GET['code'];
if ($token) { ?>
<form action="https://apps.facebook.com/MyApp/" method="post" name='frm'>
    <input type="hidden" name="token" value="<?=$token?>">
</form>
<script language="JavaScript">
    document.frm.submit();
</script>
这会将所有内容重定向回facebook,并且会起作用,但正如你在这里所说的

如果你想转到其他页面,比如success.php,你应该给重定向uri wrt画布url,即这个页面的实际url,而不是

我将重定向uri从localhost更改为https://apps.facebook.com/MyApp/index.php 一切顺利