FB应用程序请求指向画布页面而不是页面选项卡

时间:2012-03-30 19:23:58

标签: javascript facebook facebook-page invite

我在新的时间轴视图中使用js sdk创建了一个facebook页面应用程序,我正在使用fb.ui调用来使用多朋友选择器邀请我的朋友加入应用程序。但是,当我的朋友点击邀请时,他们会被带到我的页面版本,而这个版本没有类似的按钮。

人们在正常导航到页面时看到的屏幕截图(忽略最左侧顶部的facebook徽标): http://i.imgur.com/R3S3g.jpg

人们通过邀请链接时看到的内容的屏幕截图: http://i.imgur.com/GfXfL.jpg

我看到控制台错误:'拒绝显示文档,因为X-Frame-Options禁止显示。'

有关如何解决此问题的任何提示?

感谢您的帮助。

编辑:我发现问题在于邀请是将人们引导到应用的画布网址,而不是页面标签。有没有办法将人们链接到页面标签?

编辑2:在键盘上研究并敲击我的头后,我发现一个常见的解决方案是将画布页面重定向到页面选项卡(如herehere所述)。这对我有用,但在接受应用程序邀请后,系统会提示用户接受应用程序权限,这些权限不是查看应用程序所必需的,而是我留在Facebook内部。我会继续更新。

编辑3:我在应用设置中启用了经过身份验证的引荐。我是个笨蛋。如果有人用谷歌搜索,我会给出一个答案。

2 个答案:

答案 0 :(得分:6)

应用程序请求始终指向应用程序的画布页面(这就是为什么必须在应用程序设置中指定画布页面才能使请求完全起作用)。不要让画布页面指向与页面标签相同的内容,而是创建一个只重定向到页面标签页面的页面。

只需在画布网页中输入类似内容:

<script>
   window.top.location.href = 'YOUR PAGE TAB URL HERE';
</script>

如果用户在接受应用请求时看到权限请求,则可能意味着您已在应用设置的身份验证对话框部分中启用了经过身份验证的引荐。

答案 1 :(得分:0)

我试图在用户时间线上为共享链接设置这个。如果顶部位置不等于Facebook页面选项卡URL,我将代码进化了一点,只重定向:这样,您就不需要添加额外的“重定向页面”。

if (window.top.location.href != 'YOUR PAGE TAB URL HERE') {

    window.top.location.href = 'YOUR PAGE TAB URL HERE';
}