首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“长链接不可解析”

“长链接不可解析”
EN

Stack Overflow用户
提问于 2018-06-11 12:16:46
回答 2查看 6.6K关注 0票数 7

我想用firebase和REST缩短一个longLink,但是我得到了以下响应,我不知道出了什么问题:

响应:

代码语言:javascript
复制
   {
        "error": {
            "code": 400,
            "message": "Long link is not parsable: https://www.google.de [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]",
            "status": "INVALID_ARGUMENT"
        }
    }

我就是这样做的:

请求:https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=(异端)

身体看起来是这样的:

代码语言:javascript
复制
{
   "longDynamicLink": "https://www.google.de",
   "suffix": {
    "option": "SHORT"
  }
}

我首先尝试使用我想要缩短的真实URL。同样的错误。而不是谷歌,有和没有http。我别无选择,希望有人看到我在这里做错了什么。

编辑:完整邮递员请求:

代码语言:javascript
复制
    "item": [
            {
                "name": "shortLinks",
                "request": {
                    "method": "POST",
                    "header": [
                        {
                            "key": "Content-Type",
                            "value": "application/json"
                        }
                    ],
                    "body": {
                        "mode": "raw",
                        "raw": "{\r\n   \"longDynamicLink\": \"www.google.de\",\r\n   \"suffix\": {\r\n    \"option\": \"SHORT\"\r\n  }\r\n}"
                    },
                    "url": {
                        "raw": "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=xxx",
                        "protocol": "https",
                        "host": [
                            "firebasedynamiclinks",
                            "googleapis",
                            "com"
                        ],
                        "path": [
                            "v1",
                            "shortLinks"
                        ],
                        "query": [
                            {
                                "key": "key",
                                "value": "xxx"
                            }
                        ]
                    }
                },
                "response": []
        }
    ]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-11 12:45:14

您正在使用简单的方法来创建动态链接,这大致相当于手动创建动态链接:https://firebase.google.com/docs/dynamic-links/create-manually

在文档中,如果您仔细地看到在示例中传递的链接,您将看到下面的模式:

代码语言:javascript
复制
https://your_subdomain.page.link/?link=your_deep_link&apn=package_name[&amv=minimum_version][&afl=fallback_link]

因此,您应该按照此设置输入链接的格式,或者使用参数创建,这些参数在json中具有非常好的参数分解:

参数

下面是用于从参数创建firebase动态链接的api引用:

https://firebase.google.com/docs/reference/dynamic-links/link-shortener#parameters

票数 7
EN

Stack Overflow用户

发布于 2018-10-08 19:01:33

我发现JSON参数方法更容易。

代码语言:javascript
复制
var body = {
  "dynamicLinkInfo": {
    "dynamicLinkDomain": "yourcustom.page.link",
    "link": fileUrl
  },
  "suffix": {
    "option": "SHORT"
  }
};

如果你用的是Node。节点取包REST调用的工作方式如下:

代码语言:javascript
复制
  var fetchFileUrl = fetch(YOUR_SHORTLINK_URL, { 
      method: 'POST',
      body: JSON.stringify(body),
      headers: { 'Content-Type': 'application/json' },
  }).then(function(response){
    return response.json();
  });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50797540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档