我的firebase函数在开发中运行正常(D),但在生产中给了我以下错误。此外,当我检查firebase functions控制台上的日志时,似乎没有任何活动。就好像函数没有被调用一样。
这里是我的angular应用程序调用函数的代码-
const process = this.fns.httpsCallable("gpublish");
process(data).subscribe(
(result) => {
console.log("function responded with result: " + JSON.stringify(result));
},
(err) => {
const date1 = new Date();
console.log("Function call error " + date1.toString() + "with" + JSON.stringify(err));
});
以下是功能-
索引.ts
import { gpublish } from "./gpublish/gpublish";
import { sendEmail } from "./sendEmail";
export {gpublish,sendEmail };
GPublish.ts
import * as functions from "firebase-functions";
const fs = require("fs");
const { google } = require("googleapis");
const script = google.script("v1");
const scriptId = "SCRIPT_ID";
const googleAuth = require("google-auth-library");
import { admin } from "../admin";
const db = admin.firestore();
export const gpublish = functions.https.onCall(async (data: any, res: any) => {
try {
const googleTest = data.test;
console.log("Publishing to google test of name " + googleTest.testName);
// read the credentials and construct the oauth client
const content = await fs.readFileSync("gapi_credentials.json");
const credentials = JSON.parse(content); // load the credentials
const { client_secret, client_id, redirect_uris } = credentials.web;
const functionsOauth2Client = new googleAuth.OAuth2Client(client_id,client_secret, redirect_uris); // Constuct an auth client
functionsOauth2Client.setCredentials({refresh_token: credentials.refresh_token}); // Authorize a client with credentials
// run the script
return runScript(functionsOauth2Client,scriptId,JSON.stringify(googleTest)
).then((scriptData: any) => {
console.log("Script data is" + JSON.stringify(scriptData));
sendEmail(googleTest, scriptData);
return JSON.stringify(scriptData);
});
} catch (err) {
return JSON.stringify(err);
}
});
function runScript(auth: any, scriptid: string, test: any) {
return new Promise(function (resolve, reject) {
script.scripts
.run({auth: auth,scriptId: scriptid, resource: {function: "doGet", devMode: true,parameters: test }
})
.then((respons: any) => { resolve(respons.data);})
.catch((error: any) => {reject(error);});
});
}
在开发和生产中部署功能时,我已经正确地更改了服务帐户密钥和google凭据。
我有两个Firebase项目使用存储来存储文件和Firestore的元数据。一个项目用于试运行,另一个用于生产。我有一个简单的react应用程序设置,用于将我的文件和元数据上传到暂存项目。 我试图找出如何将暂存存储和Firestores同步到生产项目。我在google搜索和firebase文档方面运气不佳(除了看到可以使用node连接到多个Firebase项目之外)。 任何帮助将不胜感激。
问题内容: 我在玩Android Studio,制作一个非常简单,非常愚蠢的应用,以了解 有关保存关键首选项的知识,但遇到了一个奇怪的障碍。我将尽力 提供尽可能多的内容,因为可能很难重现此错误,但是 老实说,我正在运行的两个应用程序都是超级基本的,并且没有编译 错误。 规格:没有模拟器,我正在运行Samsung Galaxy Tablet。Windows 7,Android Studio 1.2,
我在两个项目上使用相同的容器(类似的资源)--生产和阶段。两者都有自定义域与云耀斑DNS设置,并在同一地区。容器构建是在一个完全不同的项目中完成的,IAM用于处理对这些容器的访问。对于所有5个服务,这两个项目服务都有80个并发和300秒超时。 三天前一切都很好,但从昨天开始,几乎所有的云运行服务(谢天谢地)都开始随机抛出503个请求。有些服务甚至一周都没有部署。同样的容器在生产项目上运行良好,没有
我正在构建一个定制的Java库。我把我的大部分“重复”代码都保存在那里,比如文件处理、字符串处理等。每次我想使用它们时,我都必须将该类复制并粘贴到我正在进行的其他项目中。有没有办法让这个自定义库类成为“依赖项”?我在用我的智能手机。
Catalina启动严重:所需的服务器组件无法启动,因此Tomcat无法启动。org.apache.Catalina.LifeCycleException:无法启动组件[StandardServer[8005]](位于org.apache.Catalina.util.LifeCycleBase.start(LifeCycleBase.167)(位于org.apache.Catalina.Start
我正在构建一个应用程序,它有任意数量的“微社区”。目前,一个用户只能属于一个,所以当他们最初注册时,他们输入一个秘密代码,将他们与相关社区联系起来。 将这些“微社区”(由未来在应用程序上玩一个空间的客户拥有)分离成单独的Firebase项目或将所有数据保存在一起是明智的吗?