我正在学习如何使用RapidAPI,但我遇到了同样的问题。我正在尝试使用JavaScript提取的随机名言。我复制这个代码:
async componentDidMount() {
await fetch("https://andruxnet-random-famous-quotes.p.rapidapi.com/?count=10&cat=movies", {
"method": "POST",
"headers": {
"x-rapidapi-host": "andruxnet-random-famous-quotes.p.rapidapi.com",
"x-rapidapi-key": "5d4682bb48msh8e662b997230c75p180ff3jsne9e95966eb37",
"content-type": "application/x-www-form-urlencoded"
},
"body": {}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
在控制台中,这是响应:
body: ReadableStream { locked: false }
bodyUsed: false
headers: Headers { }
ok: true
redirected: false
status: 200
statusText: "OK"
type: "cors"
url: "https://andruxnet-random-famous-quotes.p.rapidapi.com/?count=10&cat=movies"
url导致错误:"message":"缺少RapidAPI应用程序密钥。请转到https://docs.rapidapi.com/docs/keys了解如何获取API应用程序密钥。">
似乎缺少api键,但据我所知,它是在fetch标头中提供的。这是语法错误还是我遗漏了什么?提前谢谢。
此代码对我来说运行良好。
fetch("https://andruxnet-random-famous-quotes.p.rapidapi.com/?cat=movies&count=10", {
"method": "POST",
"headers": {
"x-rapidapi-host": "andruxnet-random-famous-quotes.p.rapidapi.com",
"x-rapidapi-key": "fdb84465dfmsh5c2245c197e72f7p1cf738jsnabb992bd3635"
}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.error(err);
});
如果它仍然不起作用,并且错误仍然存在,我建议您在RapidAPI Developer Dashboard上旋转API密钥或为您生成新的API密钥,因为您已经在问题中暴露了API密钥。