【问题标题】:facebook redirect_uri redirecting to local domain instead of staying on facebookfacebook redirect_uri 重定向到本地域而不是留在 facebook
【发布时间】:2014-04-10 16:39:25
【问题描述】:

显示请求权限对话框后,我的 facebook 应用程序将不会留在 facebook 上。它一直重定向到redirect_uri(很明显),但我的问题是如何让应用程序在facebook iframe中运行?

我尝试将 redirect_uri 设置为 https://apps.facebook.com/myApp,但不允许这样做会显示错误?

应用程序配置不允许给定 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>";
}
?>

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk


    【解决方案1】:

    您可以删除此行:'redirect_uri' =&gt; 'localhost';

    由于登录后如果redirect_uri中没有提及任何内容,它会自动重定向到同一页面。

    如果你想进入其他页面,比如success.php,你应该给redirect_uri wrt画布url,即这个页面的实际url,而不是http://apps.facebook.......

    【讨论】:

      【解决方案2】:

      感谢您的回答,但当 'redirect_uri' =&gt; '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,你应该给redirect_uri wrt画布url,即这个页面的实际url,而不是http://apps.facebook.......

      我将redirect_uri 从localhost 更改为https://apps.facebook.com/MyApp/index.php,一切顺利,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-14
        • 1970-01-01
        • 2013-05-12
        • 2011-09-23
        • 1970-01-01
        • 1970-01-01
        • 2012-08-25
        • 2013-11-02
        相关资源
        最近更新 更多