我使用cloud Function v2与node.js(不是Typescript),我需要用户创建触发器。在

问题描述 投票:0回答:1
const {functions} = require("firebase-functions"); initializeApp(); const db = getFirestore(); exports.authUserCreated = functions.auth.user().onCreate({region: "europe-west1"}, (user) => { const userEmail = user.email; const userId = user.uid; return db.collection("users").doc(userId).update({createdAt: FieldValue.serverTimestamp(), email: userEmail}); });

部署错误:TypeError: Cannot read properties of undefined (reading 'auth')

您的陈述是错误的。 应该是:

require

我设法将我的代码配置为这样。

const functions = require('firebase-functions');

解释:SDK已经与V2一起安装了V1,因此您只需要分开导入并使用它们即可。部署功能时,您将分别将它们视为Gen 1和Gen 2。
    

javascript node.js firebase google-cloud-functions
1个回答
2
投票

import { onCall } from "firebase-functions/v2/https"; import { logger } from "firebase-functions"; import * as admin from "firebase-admin"; import * as functions from "firebase-functions/v1"; export const handleUserCreation = functions.auth.user().onCreate(async (user: any) => { try { const { uid, email, displayName, photoURL } = user; logger.info(`New user created: ${email}`); await db.collection("users").doc(uid).set({ email, displayName, photoURL, createdAt: admin.firestore.FieldValue.serverTimestamp(), role: "user", // Default role id: uid }); logger.info(`User data saved for UID: ${uid}`); } catch (error: any) { logger.error("Error saving user data", error); } });

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.