使用fb.ui发送带参数的链接

时间:2012-06-18 18:10:11

标签: facebook

我的基于Wordpress的网站(dev:volved.dyndns-blog.com)允许用户通过Facebook邀请朋友。当通过fb.ui发送消息调用发送邀请时,将添加以下内容作为链接参数。

http://volved.dyndns-blog.com/login/?action=register&invite_id= {3CBBBEB8-6ACF-4319-AF07-3B6C22C1091D}

“invite_id”参数通常会导致重定向。由于发现Facebook在看到重定向时会返回服务器错误500,因此我更改了代码以检测用户代理中的“facebook”而不进行重定向。然而,fb.ui呼叫仍然失败。我的调试工作受到阻碍,因为在某些情况下,FB似乎甚至没有测试链接。它只是失败了代码500.也许这是由于一些缓存。我还没有想到这个模式,但似乎是在我的网站FB失败后发生的。如果我稍后再试,我会看到FB到达该网站。

  1. 是否有其他条件会导致fb.ui发送服务器500错误?
  2. 如果没有点击请求网站,FB会自动失败后续尝试吗?

1 个答案:

答案 0 :(得分:1)

哇。感谢Facebook工程师节省了5分钟的文档时间,这样我和其他人就可以浪费时间。我会报告我发现的内容。如果其他人发现了更多或更准确的信息,请随时发表评论。

事实证明FB在测试http://my.domain/page/?invite=xyz的fb.ui发送链接时会测试OG:Url。

OG:网址必须是“http://my.domain/page”。参数将被忽略。不允许重定向。在我的情况下,任何时候页面都有invite_id参数,它会被重定向。检查请求的用户代理允许检测FB机器人。但是,我发现有时,FB也发送了bitlybot。所以你必须抓住它。如果将来使用不同的机器人,很可能会破坏。

您有一次机会测试每个网址,因为FB会缓存结果。如果再试一次,FB不会测试链接。如果fb.ui成功,它将继续成功。否则它将继续失败。这个缓存持续 - 我们只需要猜测。

希望这会有所帮助。是时候再次富有成效......