我想用firebase和REST缩短一个longLink,但是我得到了以下响应,我不知道出了什么问题:
响应:
{
"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=(异端)
身体看起来是这样的:
{
"longDynamicLink": "https://www.google.de",
"suffix": {
"option": "SHORT"
}
}我首先尝试使用我想要缩短的真实URL。同样的错误。而不是谷歌,有和没有http。我别无选择,希望有人看到我在这里做错了什么。
编辑:完整邮递员请求:
"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": []
}
]发布于 2018-06-11 12:45:14
您正在使用简单的方法来创建动态链接,这大致相当于手动创建动态链接:https://firebase.google.com/docs/dynamic-links/create-manually
在文档中,如果您仔细地看到在示例中传递的链接,您将看到下面的模式:
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
发布于 2018-10-08 19:01:33
我发现JSON参数方法更容易。
var body = {
"dynamicLinkInfo": {
"dynamicLinkDomain": "yourcustom.page.link",
"link": fileUrl
},
"suffix": {
"option": "SHORT"
}
};如果你用的是Node。节点取包REST调用的工作方式如下:
var fetchFileUrl = fetch(YOUR_SHORTLINK_URL, {
method: 'POST',
body: JSON.stringify(body),
headers: { 'Content-Type': 'application/json' },
}).then(function(response){
return response.json();
});https://stackoverflow.com/questions/50797540
复制相似问题