相关疑难解决方法(0)

Firebase火炬计划是否有火花计划配额?

Firebase Blaze计划是否有火花计划免费配额?

我想将Firebase与谷歌云平台一起使用,但仍希望拥有托管免费限制.我不关心其他服务,因为我不使用它们.

firebase google-cloud-platform firebase-hosting

4
推荐指数
1
解决办法
2414
查看次数

如何读取JSON文件数据并在Firebase Cloud函数中使用它

我有一个firebase云函数,它将在正常运行的HTTP请求上调用。

现在,我想从JSON文件中读取数据以获取某些业务逻辑。以下是我尝试读取JSON文件的2种方法:

选项#1)将JSON文件保存在我的nodejs项目的“ public”目录中并进行部署。得到了一个我正在使用的托管URL,如下所示。但是它抛出一个错误,提示“错误:getaddrinfo ENOTFOUND ...”

选项#2)将JSON文件上传到Firebase云存储。没有找到任何示例来尝试这一点。最终得到以下代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const Firestore = require('@google-cloud/firestore');
const firestore = new Firestore();
const http = require('http');
const url = require('url');

// Option #2 required variables
var storage = require('@google-cloud/storage');
const gcs = storage({projectId: "<Project ID>"});
const bucket = gcs.bucket("<bucket-name>");
const file = bucket.file("<filename.json>")

// HTTP Trigger
exports.functionName = functions.https.onRequest((req, res) => {
 var request = require('request'); 
 var paramValue = req.body.queryParam;
 console.log(paramValue);

// Option #1 - Using hosted URL …
Run Code Online (Sandbox Code Playgroud)

node.js google-cloud-storage firebase google-cloud-functions firebase-storage

3
推荐指数
2
解决办法
4663
查看次数

已部署的 Firebase 函数无法对外部 API 执行 HTTP GET?

我正在尝试创建我的第一个 Google Home Action,就像我的 Amazon Alexa 技能一样。这个动作的工作方式是,你执行一个意图,然后在我的代码中调用一个函数。调用该函数时,它会向外部 API 发送 GET 以提取一些数据。

现在,当我在本地使用:firebase serve --only functions和ngrok. 这些将允许我在 API.AI 上测试该功能并且它工作正常。

但是当我决定使用: 将firebase deploy --only functions它部署到 firebase 时,它根本不起作用并抛出此错误:

error: { RequestError: Error: getaddrinfo EAI_AGAIN newsapi.org:443
    at new RequestError (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/errors.js:14:15)
    at Request.plumbing.callback (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/plumbing.js:87:29)
    at Request.RP$callback [as _callback] (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at self.callback (/user_code/node_modules/request/request.js:188:22)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.onRequestError (/user_code/node_modules/request/request.js:884:8)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:310:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at connectErrorNT (net.js:1020:8) …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-home

2
推荐指数
1
解决办法
1431
查看次数

Firebase Cloud Functions 在调用外部 API 时引发 DNS 错误

我正在尝试调用 CoinMarketCap 的公共 API,但它总是失败并显示以下错误:

error occured Error: getaddrinfo ENOTFOUND api.coinmarketcap.com api.coinmarketcap.com:443
Run Code Online (Sandbox Code Playgroud)

当我从浏览器调用 URL 时,它会立即返回结果。代码非常简单:

const functions = require('firebase-functions');
const axios = require('axios');
exports.getBtcPrice = functions.https.onRequest((req, res) => {
    axios.get('https://api.coinmarketcap.com/v1/ticker/bitcoin')
        .then( (response) => {
            console.log(response);
            res.send("data received");
        })
        .catch((error) => {
            console.log(error);
            res.send("error occured "+ error)
        });
});
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-functions

2
推荐指数
1
解决办法
660
查看次数