[英]IGDB API Axios request returning undefined
我构建了一个 Discord 机器人,我想在 IGDB 中查询搜索到的游戏并返回一些信息。 无论我搜索或更改什么,我目前都只是得到“未定义”。
我正在使用 CORS-anywhere 作为代理。 不确定是不是这个问题。 如何获得响应以像在 Postman 中那样在控制台中显示数据?
这是我的代码:
client.on('message', (message) => {
if (message.author.bot) return;
if (message.content.startsWith(PREFIX)) {
const [CMD_NAME, ...args] = message.content
.trim()
.substring(PREFIX.length)
.split(/\s+/);
if (CMD_NAME === 'search') {
if (args.length === 0) return message.reply('Please provide a game.');
// Perform a GET request from the IGDB API through the cors-anywhere proxy.
const proxyUrl = 'https://cors-anywhere.herokuapp.com/'
axios({
url: `${proxyUrl}https://api-v3.igdb.com/games`,
method: 'POST',
headers: {
'Origin': 'https://api-v3.igdb.com/games',
'Accept': 'application/json',
'user-key': process.env.IGDB_USER_KEY
},
data: `fields name,first_release_date,platforms,cover,summary;search ${args};sort popularity desc;limit 1;`
})
.then(response => {
console.log(response.data);
})
.catch(err => {
console.log(err.response.request._response);
})
}
}
})```
我也在研究 igdb 并且非常新。 如果我错了,请告诉我,我会删除它:D
我认为现在需要 twitch 身份验证,标题应该有所不同。 您必须致电https://id.twitch.tv/oauth2/token?
为了让您获得一个access_token
,然后您可以将您的请求标头与您的client_id
一起传递。
现在您有了客户端 ID 和客户端密钥,您将使用 oauth2 以 Twitch 开发人员身份进行身份验证。 详细信息可以在 Twitch 开发人员文档中找到。
这样做将为您提供一个访问令牌,用于未来对我们 API 的请求。
使用以下查询字符串参数向https://id.twitch.tv/oauth2/token发出 POST 请求,并相应地替换您的客户端 ID 和客户端密钥。
client_id=Client ID
client_secret=Client Secret
grant_type=client_credentials
headers: {
'Accept': 'application/json',
'Client-ID':'your_client_id',
'Authorization':'Bearer access_token'
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.