firebase函数和外部API

时间:2018-07-01 12:50:48

标签: javascript firebase google-cloud-functions dialogflow

const functions = require('firebase-functions');
exports.apiResponse = functions.https.onRequest((request, response) => {
const url = "https://test-proj-heroku.herokuapp.com/api/plans"
const https = require('https');
  var req = https.get(url, (resp) => {
    let data = '';
    resp.on('data', (chunk) => { data += chunk; });
    resp.on('end', () => {
        var result = JSON.parse(data);
        response.send({ fulfillmentText: "Firebase  API Is Running..." });
      });
    }).on("error", (err) => { console.log("Error: " + err.message); });
});

为什么此云功能没有响应?在此网址上部署= https://us-central1-ayyanalee-e891b.cloudfunctions.net/apiResponse

1 个答案:

答案 0 :(得分:4)

您正试图向您的Heroku服务器(非Google产品)发出请求,看来您在Firebase的免费层上。正如the pricing page所指示的那样,在“云功能”部分下,仅允许免费层对其他Google服务(进行呼出网络操作(例如,对Heroku服务器的调用) >例如Gmail,Google云端硬盘等... )

如果要向Heroku服务器发出请求,则需要升级到付费Firebase层。