Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Firebase函数Spark模式下调用youtube api_Node.js_Firebase_Youtube Api_Google Cloud Functions - Fatal编程技术网

Node.js 如何在Firebase函数Spark模式下调用youtube api

Node.js 如何在Firebase函数Spark模式下调用youtube api,node.js,firebase,youtube-api,google-cloud-functions,Node.js,Firebase,Youtube Api,Google Cloud Functions,我第一次使用Firebase。我管理Firebase将数据存储在数据库中,并发送外部http rquest,但该请求不起作用 我正在调用Youtube api获取数据。我在这里读到很多答案,说只有谷歌拥有的api是允许的。我的代码无法将请求发送到youtube api 有人请检查和帮助 const functions = require('firebase-functions'); const admin = require('firebase-admin'); var req = requir

我第一次使用Firebase。我管理Firebase将数据存储在数据库中,并发送外部http rquest,但该请求不起作用

我正在调用Youtube api获取数据。我在这里读到很多答案,说只有谷歌拥有的api是允许的。我的代码无法将请求发送到youtube api

有人请检查和帮助

const functions = require('firebase-functions');
const admin = require('firebase-admin');
var req = require('request');
admin.initializeApp(functions.config().firebase);
var db = admin.firestore();

exports.helloWorld = functions.https.onRequest((request, response) => {
    var url = "https://www.googleapis.com/youtube/v3/commentThreads?part=id,snippet,replies&allThreadsRelatedToChannelId=abcd&maxResults=100&order=time&key=key"
    req(url, function (error, resp, body) {
        if (!error && resp.statusCode === 200) {
            return resp;
            // var comments = JSON.parse(body);
            // comments.forEach(comment => {
            //     var dataid = com.snippet.topLevelComment.id;
            //     var docRef = db.collection("comments").doc(dataid);
            //     var storeInDB = docRef.set(comment);
            // });
        }
    });
    response.send("hello World");
});
当我只是返回响应时,这个函数确实工作得很好,所以我认为,youtbeapi的东西工作得很好,但是当我取消注释解析响应的代码并尝试将其存储在数据库中时,我看到了这一点

函数执行已开始 下午6:46:31.736 带边框的\u标志
地狱世界 未配置计费帐户。外部网络无法访问,配额受到严重限制。配置帐单帐户以删除这些限制 下午6:46:31.829 带边框的\u标志
地狱世界
函数执行耗时94毫秒,状态代码为:200。在Spark模式下,您将无法调用YouTube API,因为它不受支持

Firebase仍然认为您正在调用需要计费设置的外部API


使用Blaze计划,即现收现付。这感觉像是最昂贵的计划,因为它位于极右翼。然而,它包括免费的等级配额。一旦它过去,你将被指控。你可以设置低预算来限制它。然后,它与计费设置基本相同。

请编辑您的问题,以准确显示哪些问题不符合您的预期。有错误吗?在日志中,maybe?@DougStevenson当我简单地返回它时,我只看到响应,当我取消注释我的4行代码时,它确实失败了。所以youtube请求发送部分工作,但在数据库部分以某种方式失败。请检查我对问题的评论,我得到了响应,但代码无法解析json