共享对话框帖子不包含深入链接到facebook iframe页面选项卡的查询字符串

时间:2013-11-22 20:19:37

标签: facebook iframe facebook-sharer

我正在尝试使用标准的Facebook分享按钮分享指向表单的iframe页面标签的深层链接:

https://www.facebook.com/YourPage?v=app_1234567890&app_data= any_string_here

其中app_data内容是指向我的iframe页面标签应用内容的深层链接相对路径 (例如/ path / to / page_that_I_shared_from)。

为了清楚起见,我的iframe应用页面上有一个“共享”按钮,我正在尝试生成返回该页面的链接以供共享。

我根据Share Dialog文档将绝对URL放在data-href参数中,当我单击Share按钮时,共享对话框中的url的格式为:

https://www.facebook.com/sharer/sharer.php?app_id=my_app_id&sdk=joey&u=url_encoded_version_of_the_absolute_url_above&display=popup

但是在渲染帖子时,查询字符串会被完全剥离。

请注意,如果我使用非Facebook网址,则会保留查询字符串。

我注意到共享对话框网址中的app_id参数 - 可能是因为这是来自页面标签iframe内部产生影响。

使用Feed对话框进行初步测试看起来很有希望,但我想使用分享按钮,因为它为帖子的目的地提供了更多的灵活性。

1 个答案:

答案 0 :(得分:1)

最终解决方案是生成链接,如下所示:

https://www.facebook.com/pages/<page id>/<page id>?id=<page_id>&amp;sk=app_<FB_app_ id>&amp;app_data=<deep link>

其中deep_link是一个相对URL,其查询字符串以'?'开头并拥有'&amp;'字符替换为'|'字符(我在路上解码的穷人的编码)。

我看到了一些建议(主要是在SO上)对app_data网址进行加倍甚至三重编码 - 这些都不起作用,通常会导致sharer.php脚本无法发布链接。