1

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

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

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

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

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

谢谢你的帮助。

编辑:我发现问题在于邀请将人们引导到应用程序的画布 URL,而不是页面选项卡。有没有办法将人们链接到页面选项卡?

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

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

4

2 回答 2

6

应用程序请求始终指向您的应用程序的画布页面(这就是为什么您必须在应用程序设置中指定画布页面才能使请求正常工作的原因)。不要让画布页面指向与您的页面选项卡相同的内容,而是创建一个页面,该页面除了重定向到您的页面选项卡 url 之外什么也不做。

只需在画布 url 页面中添加这样的内容:

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

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

于 2012-03-31T19:29:17.443 回答
0

我试图为用户时间轴上的共享链接设置这个。我稍微改进了代码,只在顶部位置不等于 Facebook pagetab URL 时才重定向:这样,您不需要添加额外的“重定向页面”。

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

    window.top.location.href = 'YOUR PAGE TAB URL HERE';
}
于 2014-02-07T12:09:55.593 回答