【问题标题】:Redirect my domain.com to facebook canvas page将我的 domain.com 重定向到 facebook 画布页面
【发布时间】:2012-06-22 13:55:50
【问题描述】:

我在http://apps.facebook.com/myappname 上有一个应用程序,它是http://mydomain.com 的画布页面。

我不希望用户访问 mydomain.com,所以我想将他重定向到 http://apps.facebook.com/myappname

这样做的最佳方法是什么?我试图通过 javascript、php 和 htaccess 重定向,但我收到一个错误,因为 facebook 使用我的 url 加载画布页面。有什么解决办法吗?

【问题讨论】:

  • 问题是 FB.Canvas.getPageInfo 只能在 apps.facebook.com/appname 中工作。我不能在外面使用它。有什么建议吗?

标签: facebook redirect facebook-apps


【解决方案1】:

JavaScript:

function referrerIsFacebookApp() {
    if(document.referrer) {
        return document.referrer.indexOf("facebook.com") !== -1;
    }
    return false;
}
if (!referrerIsFacebookApp()) {
    top.location.replace("http://apps.facebook.com/APP_NAME_SPACE");
}

PHP:

function referrerIsFacebookApp() {
    if (strpos($_SERVER['HTTP_REFERER'], "facebook.com") === false || strpos($_SERVER['HTTP_REFERER'], "facebook.com/l.php?u=") !== false) {
        return false;
    }
    return true;
}
if (!referrerIsFacebookApp()) {
    header("Location: http://apps.facebook.com/APP_NAME_SPACE");
}

【讨论】:

  • 不错!我对 php 变量使用了相同的逻辑: $_SERVER['HTTP_REFERER']
  • Hola Pedro,我已经用上面 JavaScript 代码的 PHP 等价物更新了我的回答者。猜猜你已经以类似的方式做到了。
  • 您有什么解决方案可以使用url的相应参数进行重定向吗?
  • 您应该能够使用$params = array(); if (count($_GET) > 0) { $params = $_GET; } else { $params = $_POST; } 获取参数并将它们附加到您的重定向网址。
  • 我将使用 $_SERVER['REQUEST_URI'] 重定向到相同的路径。 ajax 调用呢?他们也会被重定向吗?我还没有测试它,但我很快就会使用 ajax。
【解决方案2】:

在 iframe 中加载您的应用时,只需检查 signed_request 参数传输即可。

【讨论】:

  • 但是signed_request没有关于它的数据。看看我的签名请求:array (size=6) 'algorithm' => string 'HMAC-SHA256' (length=11) 'expires' => int 1340391600 'issued_at' => int 1340385170 'oauth_token' => string 'XXXX' (length=113) 'user' => array (size=3) 'country' => string 'br' (length=2) 'locale' => string 'pt_BR' (length=5) 'age' => 数组 (size=1) 'min' => int 21 'user_id' => 字符串 'XXXX' (length=9)
猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 2011-08-08
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
相关资源
最近更新 更多