如何使用 REST API 创建一个 firebase 动态 link

How to create a firebase dynamic link with the REST API

我正在尝试使用 REST API 在 firebase 中生成动态 link。我已尝试按照文档以下页面上的说明进行操作:https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters

对于格式错误,我提前表示歉意,但我的请求看起来是这样的:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=

与 headers:

Content-Type: application/json

和body:

{
  "dynamicLinkInfo":{
    "domainUriPrefix":"https://<myDomain>.page.link/",
    "link":"https://www.google.com/",
    "androidInfo":{
      "androidPackageName":"com.<companyName>.<appname>"
    }   
  }
}

我得到的回复是:

{
    "error": {
        "code": 400,
        "message": "Invalid Dynamic Link domain: '' or Domain Uri Prefix: 'https://<myDomain>.page.link/'. Expecting exactly one. Dynamic Link Domain isPresent = false, Domain URI prefix isPresent = false,  [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]",
        "status": "INVALID_ARGUMENT"
    }
}

我的 firebase 项目在项目中注册了 .page.link 域。在 firebase 项目的动态 links 部分,它确实出现了。我已经测试过在 firebase 控制台中创建 links,我什至能够使用 react-native-firebase 包手动创建动态 short-links,所以我很确定我的没有任何问题项目。

domainuriprefix 的末尾不能有 /。您可以尝试删除它吗?

您确实需要将 https:// 部分添加到您的 domainUriPrefix ->

  {
      "dynamicLinkInfo":{
        "domainUriPrefix":"<myDomain>.page.link",
        "link":"https://www.google.com/",
        "androidInfo":{
          "androidPackageName":"com.<companyName>.<appname>"
        }   
      }
   }

我想添加另一个解决方案。 在我的例子中,'https' 前面的一个简单的白色 space 是触发器。

"message": "Invalid Dynamic Link domain: '' or Domain Uri Prefix: ' https://[...]'