0

我有一个 iframe 画布应用程序,它需要在使用前接受身份验证对话框,即从浏览器的角度来看,如果用户尚未接受所有请求,所有请求都会立即重定向到身份验证对话框。

这意味着 Facebook 解析器无法读取我页面上的 OpenGraph 标签,因为它永远无法通过授权点。

在更广泛的范围内,这个问题也会出现在任何需要登录才能查看的页面上。

解决此问题的最佳方法是什么?

我拥有的一种解决方案是检查客户端 IP 地址所属的组织是否是 Facebook,如果是,则未经授权允许其进入,并显示除 OG 标签外没有任何内容的页面。这对于从 Facebook 访问机器人程序来说很好,但如果员工尝试会发生什么;我不希望我的应用被禁用,因为政策团队的某个人无法正确验证该应用。

至于为什么我需要 OG 标签 - 用户经常分享应用程序的链接,它看起来很糟糕,只有一个 URL 作为标题和描述,没有图像。

4

1 回答 1

2

您需要允许 Facebook 的 URL 抓取器查看您的对象。

最好的方法是检查用户代理字符串中的字符串“facebookexternalhit”。如果存在,则返回一个包含 OG 标签的精简 HTML 页面,供 Facebook 的抓取工具读取。

于 2012-02-22T14:49:22.050 回答