我正在尝试通过REST API使用Firebase动态链接实现一个简单的URL缩短器。我准备了一个简单的异步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”,“ https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=[MY_WEB_API_KEY_HERE]”,重定向:是的,状态: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;
});