3

我怎样才能指定一个redirect_uri包含一个#

Facebook Feed Dialog API 参数参考

redirect_uri- 用户单击对话框上的按钮后重定向到的 URL。使用 URL 重定向时需要。

redirect_uri当有问题的是常规 URL时,这可以按预期工作,但是,当它包含 a 时,#它会停止工作。

redirect_uriis时http://website.com/foo,它重定向到:

https://website.com/foo?post_id=100006935442054_1384656491776519#_=_

不确定尾随#_=_是什么,但它不会在这里造成任何问题。

redirect_uriis时http://website.com/#foo,它重定向到:

https://website.com/?post_id=100006935442054_1384656491776629#_=_

因此,似乎 之后的参数要么#被忽略,要么被覆盖#_=_

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

任何有关如何解决此问题的帮助/建议将不胜感激!

4

2 回答 2

0

在您的应用程序中,您可以将查询字符串当作散列标签来处理,或者只是进行重定向。

例如,如果您的路线是http://website.com/#foohttp://website.com/?hash=foo请做同样的事情或重定向?hash=foo#foo

于 2013-10-31T07:26:57.487 回答
0

我现在正在解决这样的问题。要进入 redirect_uri 和链接的 URL:

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

FB 对话框按原样出现错误。对完整的 URL 进行编码可以解决这个问题,并在“HashID”周围输出散列,但删除之前的等号。添加第二个等号将输出 2 个等号,但只有一个将不输出任何等号。

这不是一个完整的解决方案,但看起来哈希标记是可能的。

于 2014-07-17T15:26:16.853 回答