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

共享对话框帖子不包括facebook iframe页面选项卡的深层链接的查询字符串,facebook,iframe,facebook-sharer,Facebook,Iframe,Facebook Sharer,我正在尝试使用标准的Facebook共享按钮共享一个深入链接到表单的iframe页面选项卡: 此处的任何字符串 其中app_data content是指向我的iframe页面选项卡app content的深度链接相对路径 (例如,共享的路径/到/页面) 为了清楚起见,我的iframe应用程序页面上有一个共享按钮,我正在尝试生成指向该页面的链接以供共享 我将上面的绝对URL放入共享对话框文档中的data href参数中,当我单击共享按钮时,共享对话框中的URL的形式如下: 但是在呈现post时,

我正在尝试使用标准的Facebook共享按钮共享一个深入链接到表单的iframe页面选项卡:

此处的任何字符串

其中app_data content是指向我的iframe页面选项卡app content的深度链接相对路径 (例如,共享的路径/到/页面)

为了清楚起见,我的iframe应用程序页面上有一个共享按钮,我正在尝试生成指向该页面的链接以供共享

我将上面的绝对URL放入共享对话框文档中的data href参数中,当我单击共享按钮时,共享对话框中的URL的形式如下:

但是在呈现post时,查询字符串将被完全剥离

请注意,如果使用非Facebook URL,则保留查询字符串

我注意到共享对话框URL中的app_id参数——这可能是来自页面选项卡iframe内部的事实造成了不同


feed对话框的初始测试看起来很有希望,但我想使用share按钮,因为它提供了更多关于文章目的地的灵活性。

最终的解决方案是生成如下链接:

https://www.facebook.com/pages//?id=&sk=应用程序&;应用程序数据=

其中deep|u link是一个相对URL,其查询字符串以“?”开头,并将“&”字符替换为“|”字符(我在进来的路上解码的可怜人的编码)


我看到了一些建议(主要是在这里),可以对app_数据URL进行两倍甚至三倍的编码——这些建议都不起作用,通常它们会产生sharr.php脚本无法发布的链接。

我刚刚测试了这一点,它对我有效。您是否正在使用这样的按钮:
检查是否包含app_数据部分,以及是否转义了&等等。另外,请记住,app_数据在签名的请求中作为编码的HTTP post发送到您的iFrame-您不能仅从GET参数获取它。是的,我知道如何从签名的请求中提取app_数据。我在别处看到了sk=语法,但认为它很旧。我会尝试对符号进行编码,看看是否有帮助。我的应用程序是沙盒的,所以我认为这可能会有所不同,但我让它可见,行为没有改变。哦,该死的:)。如果我硬编码的链接,它似乎工作。飞机上一定发生了什么事???谢谢你,David花了这么多时间。后来,我发现这些链接在工作时对app_数据参数的大小有限制,根据: