【问题标题】:Facebook Feed Dialog API how to include a redirect_uri containing a #?Facebook Feed Dialog API 如何包含一个包含 # 的 redirect_uri?
【发布时间】:2013-11-10 22:30:37
【问题描述】:

如何指定包含#redirect_uri

Facebook Feed Dialog API parameters reference

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

当所讨论的 redirect_uri 是常规 URL 时,这可以正常工作,但是,当它包含 # 时,它将停止工作。

redirect_urihttp://website.com/foo 时,它会重定向到:

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

不确定结尾的 #_=_ 是做什么用的,但在这里不会引起任何问题。

redirect_urihttp://website.com/#foo 时,它会重定向到:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-15
        • 2021-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多