关于使用REST API(使用JS)访问Firebase动态链接的错误请求

问题描述 投票:0回答:1

我正在尝试通过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:错误}

我需要帮助来调试它。

javascript firebase google-cloud-platform analytics firebase-dynamic-links
1个回答
0
投票

在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;
});
© www.soinside.com 2019 - 2024. All rights reserved.