Facebook Feed Dialog API如何包含一个包含#的redirect_uri?

时间:2013-10-31 02:55:46

标签: facebook url redirect deep-linking fragment-identifier

如何指定包含redirect_uri的<{1}}?

Facebook Feed Dialog API parameters reference

  

# - 用户点击按钮后重定向到的网址   在对话框上。使用URL重定向时必需。

当有问题的redirect_uri是常规网址时,这可以正常工作,但是当它包含redirect_uri时,它会停止工作。

#redirect_uri时,它会重定向到:

http://website.com/foo

不确定尾随https://website.com/foo?post_id=100006935442054_1384656491776519#_=_是什么,但这不会导致任何问题。

#_=_redirect_uri时,它会重定向到:

http://website.com/#foo

因此,https://website.com/?post_id=100006935442054_1384656491776629#_=_之后的参数会被忽略,或被#覆盖

鉴于我正在处理单个页面应用程序,其路由由哈希片段驱动,这破坏了我在应用程序中进行深层链接的能力。

有关如何解决此问题的任何帮助/建议将非常感谢!

2 个答案:

答案 0 :(得分:0)

在您的应用程序中,您可以像处理哈希标记一样处理查询字符串,或者只是执行重定向。

例如,如果您的路线为http://website.com/#foo,请http://website.com/?hash=foo执行相同操作或将?hash=foo重定向至#foo

答案 1 :(得分:0)

我正在处理这样的问题。要在redirect_uri和link中输入的URL:

.../xfile.jsp?item=/contests/bhg_homeimprovement/bhg_splashsweeps_win2500_homeimprovement&temp=yes&hid=#HashID#&esrc=nwbhgsweeps072514a

FB对话框按原样出错。对完整的URL进行编码修复并输出散列&#34; HashID&#34;,但在删除之前等号。添加第二个等号将输出2个相等的符号,但只有一个将输出无符号。

这不是一个完整的解决方案,但它确实看起来像哈希标记。