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

时间:2018-02-08 07:52:23

标签: firebase google-cloud-functions

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

error occured Error: getaddrinfo ENOTFOUND api.coinmarketcap.com api.coinmarketcap.com:443

当我从浏览器调用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)
        });
});

1 个答案:

答案 0 :(得分:4)

如果您使用的是免费套餐,那么使用firebase功能的出站网络只适用于Google服务。他们提到这是定价页面https://firebase.google.com/pricing/

上的云功能部分

如果您想使用第三方API,则必须转移到付费层。