Firebase 实时数据库在 Axios GET 请求后返回未定义

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

我正在尝试从 firebase 实时数据库接收我的不和谐机器人的数据。我正在使用 firebase REST API 和 axios 包来满足我的请求。

请求返回 200,没问题,但它们返回的数据为“未定义”,我不确定为什么。

The database

这是我正在运行的代码,删除了授权代码:

const axios = require('axios');

const { SlashCommandBuilder } = require('discord.js');

module.exports = {
    data: new SlashCommandBuilder()
        .setName('activitytest')
        .setDescription('Returns scriptedethqns activity.'),
    async execute(interaction, client) {
        await axios({
            method: 'get',
            url: 'https://timedbtester-default-rtdb.europe-west1.firebasedatabase.app/users/',
            params: {
                print: "pretty",
                auth: "0tPszWgsfm16PT3rFiXVqbGzmh7g4mSqCPRVE8ny"
            }
        })
        .catch(err => {
            console.log(err)
            interaction.reply("⛔ An error has occured, see console (add embed later)")
        })
        .then(response => {
            console.log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
            console.log(response.data)
        })

        interaction.reply("Test")
    },
};

我尝试过使用或不使用 /users/ 部分向数据库请求。 这是我一直在遵循的 Firebase 指南。

javascript firebase firebase-realtime-database axios discord.js
1个回答
0
投票
要访问 Firebase 实时数据库的 REST API,您访问的 URL 需要以

.json

 结尾,但此处的代码并非如此:

url: 'https://timedbtester-default-rtdb.europe-west1.firebasedatabase.app/users/'
这意味着您的代码实际上正在访问 Firebase 控制台(您可以通过将该 URL 粘贴到浏览器中来验证),这解释了为什么您没有取回数据。

要解决此问题,请确保 URL 以

.json

 结尾。

© www.soinside.com 2019 - 2024. All rights reserved.