我们正在开发一个包含大量动态页面的facebook-app.由于应用程序嵌入在Facebook页面的选项卡中,因此URL包含一个get参数来解决正确的选项卡/应用程序.我们希望在我们的应用程序中为多个页面实现like-和send-按钮,但facebook似乎从facebook中的url转储所有get-parameters.结果所有喜欢和发送按钮指向facebook页面本身而不是标签.
现在有人有任何解决方法吗?我们已经尝试通过外部sefor facebook urls only.rver重定向,但Facebook似乎评估点击like-/send-按钮的链接(并且似乎遵循所有类型的重定向).
更新:
以下是一个有问题的网址示例:https://www.facebook.com/smartmobil.de? sk
= app_171502639574871
更新:
问题似乎与url get-parameters无关.似乎这样的按钮不适用于任何从www.facebook.com开始的网址
当在一个像按钮使用的一切背后?将被倾销.这似乎只适用于facebook网址.
到目前为止,最好的解决方法是将您的按钮指向外部(非Facebook画布)网址.
要使其工作,您需要执行一些条件重定向以使用户返回到画布URL.您可以使用客户端javascript重定向:
<script>
window.location = 'http://apps.facebook.com/yourcanvasname/foo/bar';
</script>
Run Code Online (Sandbox Code Playgroud)
或者,您可以根据useragent字符串执行服务器端重定向.基本上,如果useragent包含'facebookexternalhit'然后呈现包含OG标记的基本HTML页面,如果没有,则重定向到画布URL.
这样做意味着Facebook sharescraper/linter将不会遵循任何重定向回到画布URL,但任何到达您的URL的用户都将返回到Canvas.
归档时间: |
|
查看次数: |
2518 次 |
最近记录: |