javascript - IGDB API Axios 请求返回未定义
问题描述
我构建了一个 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'
},
推荐阅读
- spring-boot - Spring OAuth server + client + REST
- sass - change appearance of parent based on child
- c++ - 在路径名中使用波浪号 (~) 打开一个 ofstream
- android - when i passing datra frome app to firebase it stucks
- react-native - 如何在横轴上排列文本,例如企业的营业时间?
- android - ListView OnClick within AppWidget
- java - oracle.sql.CLOB vs java.sql.Clob
- android - java.lang.RuntimeException: Cannot create an instance of class ViewModel, when android recreates Activity and Fragment
- c++ - c ++地图缓存找不到条目
- php - Typo3 登录屏幕后无法访问后端