【问题标题】:Firebase Dynamic Links seems to (re)format the target link?Firebase 动态链接似乎(重新)格式化目标链接?
【发布时间】:2021-09-15 21:29:36
【问题描述】:

我的应用的用户可以生成一些文件并将它们存储在 Firebase 存储桶中。该文件的链接如下所示:

https://firebasestorage.googleapis.com/v0/b/myApp/users%2FuserID%2Ffile.mp3?alt=media&token=xxxx-xxxx-xxxx

这是一个带有令牌的链接,因此可以公开访问。现在我想使用基于自定义域的短链接,为此我使用动态链接。我能够使用动态链接 REST API (mydomain.com/link/xxxxxxxxxx) 成功生成短链接。 但是,当我点击短链接时,我最终会重定向到如下链接:

https://firebasestorage.googleapis.com/v0/b/myApp/users/userID/file.mp3?alt%3Dmedia&token=xxxx-xxxx-xxxx

注意第一个链接中的“%2F”在最后一个链接中变为“/”,以及“alt=”变成了“alt%3D”。当我收到消息时,这足以使链接不再起作用:

{
  "error": {
    "code": 400,
    "message": "Invalid HTTP method/URL pair."
  }
}

显然,这是在动态链接重定向期间发生的 URL 编码问题。我正在“发布”到动态链接 API 正是第一个链接,但不知何故,它的编码在过程中的某处被改变。但是我找不到任何提及此类事情的文档,并且我没有看到任何会导致这种情况的参数,因此到目前为止我没有解决方案......

请问有谁有想法吗?

【问题讨论】:

    标签: firebase firebase-storage firebase-dynamic-links short-url


    【解决方案1】:

    在 GET 请求中使用它们之前,我最终在 Javascript 中重新处理了由动态链接产生的链接以更正它们(例如,将 'alt%3D' 替换为 'alt=')。

    我能负担得起这种解决方法,因为更改的链接部分几乎总是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2020-08-18
      相关资源
      最近更新 更多