Javascript 使用REST API(使用JS)访问Firebase动态链接的错误请求
我正试图通过RESTAPI使用firebase动态链接实现一个简单的URL缩短器。Javascript 使用REST API(使用JS)访问Firebase动态链接的错误请求,javascript,firebase,google-cloud-platform,analytics,firebase-dynamic-links,Javascript,Firebase,Google Cloud Platform,Analytics,Firebase Dynamic Links,我正试图通过RESTAPI使用firebase动态链接实现一个简单的URL缩短器。 我准备了一个简单的异步JS函数进行测试(因为我没有在云函数中进行外部出口调用的计费帐户)。 代码如下: async function fetcher(keyAPI,tempURL) { let reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${keyAPI}`; let parameter
我准备了一个简单的异步JS函数进行测试(因为我没有在云函数中进行外部出口调用的计费帐户)。
代码如下:
async function fetcher(keyAPI,tempURL) {
let reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${keyAPI}`;
let parameters = {
method : "POST",
headers: {
'Content-Type': 'application/json'
},
body : JSON.stringify({
"longDynamicLink": tempURL,
"suffix": {
"option": "SHORT"
}
})
};
await fetch(reqURL,parameters)
.then(res => console.log(res))
.catch(err => console.log(err));
}
我收到一个错误的请求作为响应:
回应{
类型:“cors”、“”、,
重定向:对,
现状:400,
好:错,,
statusText:“错误请求”,
标题:标题,
正文:ReadableStream,
bodyUsed:假
}
我需要帮助来调试它。在firebase控制台中创建前缀链接URL后,请尝试以下操作,因为它是必需的参数:
let reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=<API_KEY_HERE>`;
let parameters = {
method : "POST",
headers: {
'Content-Type': 'application/json'
},
body : JSON.stringify({
"dynamicLinkInfo": {
"domainUriPrefix": "[PREFIX_URL]",
"link": "[YOUR_LINK]",
},
"suffix": {
"option": "SHORT"
}
})
};
// Get response since it returns pending promise above
return await fetch(reqURL,parameters)
.then(res => res.json())
.catch(err => err);
}
// Fetch from Promise
sURL.then(res => {
console.log(res);
return res;
});
let-reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=`;
设参数={
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”
},
正文:JSON.stringify({
“dynamicLinkInfo”:{
“域名前缀”:“[PREFIX_URL]”,
“链接”:“[您的链接]”,
},
“后缀”:{
“选项”:“短”
}
})
};
//获取响应,因为它返回上述挂起的承诺
返回等待获取(请求URL、参数)
.then(res=>res.json())
.catch(err=>err);
}
//信守诺言
然后(res=>{
控制台日志(res);
返回res;
});
在firebase控制台中创建前缀链接URL后,请尝试以下操作,因为它是必需的参数:
let reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=<API_KEY_HERE>`;
let parameters = {
method : "POST",
headers: {
'Content-Type': 'application/json'
},
body : JSON.stringify({
"dynamicLinkInfo": {
"domainUriPrefix": "[PREFIX_URL]",
"link": "[YOUR_LINK]",
},
"suffix": {
"option": "SHORT"
}
})
};
// Get response since it returns pending promise above
return await fetch(reqURL,parameters)
.then(res => res.json())
.catch(err => err);
}
// Fetch from Promise
sURL.then(res => {
console.log(res);
return res;
});
let-reqURL=`https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=`;
设参数={
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”
},
正文:JSON.stringify({
“dynamicLinkInfo”:{
“域名前缀”:“[PREFIX_URL]”,
“链接”:“[您的链接]”,
},
“后缀”:{
“选项”:“短”
}
})
};
//获取响应,因为它返回上述挂起的承诺
返回等待获取(请求URL、参数)
.then(res=>res.json())
.catch(err=>err);
}
//信守诺言
然后(res=>{
控制台日志(res);
返回res;
});
我以前的答案被删除了,我不知道为什么,但没问题
我早些时候就遇到了这个问题,并对此进行了一些研究。而且它起作用了。所以我把我所有的代码都清理干净,然后发布到Github上,这样这个疑问就可以消除了
所以,一些评论问如何使用这个,下面是答案
makefdl(key、st、si、sd、domain、link)代码>
异步函数链接(){
var slink=等待makefdl(键、st、si、sd、域、链接);
如果(slink!=null){
控制台日志(slink);
//在这里用短链接做点什么
}
}
我以前的答案被删除了,我不知道为什么,但没问题
我早些时候就遇到了这个问题,并对此进行了一些研究。而且它起作用了。所以我把我所有的代码都清理干净,然后发布到Github上,这样这个疑问就可以消除了
所以,一些评论问如何使用这个,下面是答案
makefdl(key、st、si、sd、domain、link)代码>
异步函数链接(){
var slink=等待makefdl(键、st、si、sd、域、链接);
如果(slink!=null){
控制台日志(slink);
//在这里用短链接做点什么
}
}