【问题标题】:Redirect back to facebook page tab after authentication?身份验证后重定向回Facebook页面选项卡?
【发布时间】:2012-11-19 19:14:09
【问题描述】:

我在我的页面标签应用程序中使用 facebook 的 drupal,并且有一定的问题 -

身份验证后,用户通过自定义模块重定向,代码如下 -

<?php
function fb_example_fb($op, $data, &$return) {
  $fb_app = isset($data['fb_app']) ? $data['fb_app'] : NULL;
  $fb = isset($data['fb']) ? $data['fb'] : NULL;
  if ($op == FB_OP_AJAX_EVENT) {

    if ($data['event_type'] == 'session_change') {
      if ($fbu = fb_facebook_user()) {
        $url = url('http://apps.facebook.com/appname',
                   array('absolute' => TRUE, 'fb_canvas' => fb_is_canvas()));
        $return[] = 'FB_JS.reload("'. $url .'");';
      }
    }
  }
}
?>

当我希望用户被重定向到画布应用程序时,一切都很好。 问题是,我希望用户在身份验证后被“重定向”回页面选项卡,因此我需要刷新 iframe / 主要内容 div,以便用户单击“登录”按钮并进行身份验证,页面选项卡将使用自定义驱动内容进行更新。我的目标是在不让他们离开标签的情况下将其提供给用户。

当我尝试将上面代码中的 $url 路径设置为 - https://www.facebook.com/appname/app_4557794143(页面标签的路径), 页面刷新后,我从 facebook 收到以下错误,而不是显示选项卡 - “

抱歉,无法处理您的请求。请重试”

如何更改功能,以便在按下连接按钮后刷新窗口?有人可以说明以正确的方式处理这个问题吗? 非常感谢大家。

【问题讨论】:

  • 含糊地谈论“得到错误”而不提及实际错误并不能很好地描述问题。
  • facebook 没有给我任何规格...它只是说 - 抱歉,您的请求无法处理。请重试
  • 我编辑了问题,感谢提醒
  • 你能帮我弄清楚如何修改fb.js吗?我发现这就是解决方案所在......

标签: facebook drupal drupal-7 facebook-iframe fbjs


【解决方案1】:

最后解决方案非常简单,有点像黑客...... 出于某种原因,当我尝试通过 fb.js 重定向时没有任何效果,并且 facebook 不断给出同样的错误。所以,剩下要做的就是“覆盖” fb.js.redirect 并使用 -

  if ($fbu = fb_facebook_user()) {
    $return[] = 'top.location.href="https://www.facebook.com/exampleapp/app_707794143";';
  }

对于所有未来的谷歌员工......

【讨论】:

    猜你喜欢
    • 2012-08-12
    • 1970-01-01
    • 2012-06-12
    • 2013-10-26
    • 2011-01-15
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    相关资源
    最近更新 更多