【问题标题】:IGDB API Axios request returning undefinedIGDB API Axios 请求返回未定义
【发布时间】:2020-09-02 20:35:46
【问题描述】:

我正在构建一个 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);
            })
        }
    }
})```

【问题讨论】:

    标签: javascript api axios


    【解决方案1】:

    我也在研究 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'
                        },
    

    https://api-docs.igdb.com/?javascript#about

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      相关资源
      最近更新 更多