Tag: firebase

使用Google API的Firebase – 需要帐单和/或身份validation

目标 使用免费的Firebase Spark计划 ,在Firebase云端function中使用googleapis 。 上下文 我已经将以下云端function代码部署到了我的Firebase项目中。 helloWorld端点按预期工作。 urlShortener端点返回两个错误: Error: Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup… 和 Billing account not configured. External network is not accessible and quotas are severely limited. Configure billing account to remove these restrictions 题 如果我发送一个validation的请求,这是否certificate了这两个错误? 或者,googleapis以某种方式被视为External network并且必须解决这两个错误,例如,打开结算以使用googleapis? 码 const functions = require('firebase-functions'); const admin = require('firebase-admin'); […]

Admin SDK Auth错误,错误的错误代码

我正在使用Admin SDK,Authfunction。 当调用admin.auth().verifyIdToken(token)并且令牌已经过期时,我得到错误 Firebase ID令牌已过期。 从您的客户端应用程序获取新的令牌,然后重试。 有关如何检索ID令牌的详细信息,请参阅https://firebase.google.com/docs/auth/admin/verify-id-tokens 。 有错误代码 AUTH /参数误差 首先,错误代码是不是“auth / user-token-expired”? 其次,我收到的错误代码不在pipe理员身份validationAPI错误中 我很难妥善处理所有的firebase错误,所以我可以回复适当的错误消息给我的API的消费者。

Firebase – 提取上传到STORAGE的mp4video的图片或缩略图

我花了几天的时间研究和阅读firebase,firebase Cloud Storage,nodejs,canvas,javascript,apis等文章,但是我发现很复杂,我认为有一个更简单的方法来做到这一点。 有人可以指导我得到一个简单的解决scheme? 在我加载video.mp4文件的那一刻,我可以从接收到下载URL的那一刻起,或者从接口的javascript中使用来自后端的nodejs来实现它。 video的上传是通过File “ .put(file) ”而不是blob来完成的。 它可以从客户端使用“文件”界面完成,或从服务器端使用node.js完成 。

如何使用firebase云端function上的快速上传文件

我试图上传文件到云function,使用快递处理请求,但我不成功。 我创build了一个在本地工作的版本: serverside js const express = require('express'); const cors = require('cors'); const fileUpload = require('express-fileupload'); const app = express(); app.use(fileUpload()); app.use(cors()); app.post('/upload', (req, res) => { res.send('files: ' + Object.keys(req.files).join(', ')); }); 客户端js const formData = new FormData(); Array.from(this.$refs.fileSelect.files).forEach((file, index) => { formData.append('sample' + index, file, 'sample'); }); axios.post( url, formData, { headers: { […]

错误403禁止。 没有访问URL的权限

我正在尝试迁移到Firebase。 但在此之前,我通过执行以下步骤进行了一些尝试。 我已经成功添加并部署了云function,但遇到错误 错误:禁止 您的客户端没有权限从该服务器获取URL / app / lol。 执行以下代码时发生这种情况: const functions = require('firebase-functions'); const express = require('express'); const app = express() // tried adding this as middleware // const cors = require('core'({origin: true})) var admin = require('firebase-admin'); // app.use(cors) var serviceAccount = require("./ServiceAccount.json"); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "https://<my-app>.firebaseio.com/" }); app.get('/lol', (req, res) => { […]

firebase表示云function错误

我一直想疯狂得到这个firebase的http函数与Cors工作。 基本上,我在本地服务pipe理员SDK来validation某个用户令牌是否具有pipe理权限。 令牌通过get请求作为url中的参数发送。 我目前正在得到一个404错误,并且在请求的资源上出现“No”Access-Control-Allow-Origin“头”错误。 我已经尝试重新安排我的代码一堆不同的方式,包括firebase如何在文档中做到这一点,但总是最终得到的Cors随着404或500错误。 const functions = require('firebase-functions'); const admin = require('firebase-admin'); const cors = require('cors'); const express = require('express'); const corsOptions = { origin: '*', allowedHeaders: ['Content-Type', 'Authorization', 'Content-Length', 'X-Requested-With', 'Accept'], methods: ['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS'], optionsSuccessStatus: 200 }; let app = express() app.use(cors); app.get('/AdminSignIn/:token',(req, res) => { cors(corsOptions,(req,res) =>{ admin.auth.verifyIdToken(req.params.token).then((claims) => […]

不能让英雄服务器与Firebase数据库一起工作? Heroku崩溃?

好吧,我真的只是在这里错过了一个基本的理解。 我想要做的是: 使用firebase的托pipe和数据库 – 现在这个工程,因为我最初设置应用程序作为一个Firebase应用程序 只使用Heroku的服务器 – 我的理由是谷歌云function是有限的,不会让我做一个免费的计划等外部API调用 我有点新的这个设置,但到目前为止,我已经遵循https://firebase.google.com/docs/admin/setup和Heroku的设置说明。 我的项目 – 公众是我的公共HTML /文件: 我运行npm安装,并希望有英雄运行server.js作为我的服务器代码。 本地和正式运行,我一直在使用 firebase serve firebase deploy 这两个工作没有错误,但没有服务器代码运行。 尝试heroku open or heroku local ,它崩溃与错误: firebase实验:function:shell 2017-12-02T18:19:41.474319 + 00:00 app [web.1]:npm ERR! file sh 2017-12-02T18:19:41.471559 + 00:00 app [web.1]:sh:1:firebase:not found 这里是server.js,只是尝试一个简单的testing: const express = require('express'); const app = express(); const functions = require('firebase-functions'); const […]

如何处理“promis”数组

我构build了一个数据库,其中包含从请求密钥接收来自Firebase的消息的用户列表。 每次插入状态为“open”的新请求时,我都会尝试按“Timestamp”的值对它们进行sorting,然后按照此顺序发送给接收方(每个接收方都会收到一条消息)。 如果接收者列表是空的,我想保留它,直到另一个接收者将被添加到列表并继续下一个请求。 我不知道如何一个接一个地发送每一个“承诺” exports.notificationListener=functions.database.ref('requests') .onWrite(event=>{ const ref = event.data.ref; let requests= []; var query=ref.orderByChild('TimeStamp'); query.once('value',function(snap){ snap.forEach(request=>{ if(request.val().Status==OPEN) requests.push(request.key); }); }); for (let key of requests) { return getOnlinReceiversToken().then(token=>{ let msg = { data: { source: key } }; return admin.messaging().sendToDevice(token, msg); )}; } }); function getOnlinReceiversToken() { let result = new Promise((resolve, reject) => […]

从TypeScript Firebase Admin SDK初始化失败

我正在尝试在我的TypeScript(Nest.js)应用程序中导入Firebase Admin SDK。 let serviceAccount = require("../../creds.json"); console.log(serviceAccount); const firebase = require("firebase"); firebase.initializeApp(environment.firebase); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "projectid" }); 但是当我尝试构build应用程序时,出现以下错误。 ERROR in ./node_modules/@google-cloud/firestore/src/v1beta1/firestore_client.js Module not found: Error: Can't resolve './firestore_client_config' in '/home/jaybell/trellis-server/trellis/node_modules/@google-cloud/firestore/src/v1beta1' @ ./node_modules/@google-cloud/firestore/src/v1beta1/firestore_client.js 28:17-53 @ ./node_modules/@google-cloud/firestore/src/v1beta1/index.js @ ./node_modules/@google-cloud/firestore/src/index.js @ ./src/server/main.server.ts ERROR in ./node_modules/google-gax/lib/operations_client.js Module not found: Error: Can't resolve './operations_client_config' in '/home/jaybell/trellis-server/trellis/node_modules/google-gax/lib' @ ./node_modules/google-gax/lib/operations_client.js […]

Firebase API,用于将树分支从集合移动到另一个集合

在我的应用程序中,我需要将一个相当大的集合分支移动到另一个集合。 目前,我正在使用类似的东西: srcRef .startAt(start) .endAt(end) .once('value', function(snap) { destRef.set(snap.exportVal()); }); 很明显,这是相当昂贵的,所以我的问题是:为什么Firebase不提供一个简单的API? 喜欢: srcRef.moveTo(destRef);