You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Functions V2中如何获取context.params参数?

Firebase Functions V1 迁移到 V2 常见问题解答

1. 获取路径参数(原context.params内容)

在V2的Firestore触发器中,路径参数不再存放在context对象里,而是直接挂载在event对象的params属性下。你可以直接通过event.params.courseId获取路径中定义的{courseId}参数。

示例代码:

const { onDocumentCreated } = require("firebase-functions/v2/firestore");

exports.onOpenCourse = onDocumentCreated(
  { document: "courses/{courseId}" },
  (event) => {
    // 获取路径参数courseId
    const courseId = event.params.courseId;
    // 后续业务逻辑
    const snapshot = event.data;
    const info = snapshot.data();
  }
);

2. https.onCall 的返回值说明

文档标注https.onCall返回any,意思是返回值的结构完全由你自定义,系统不会强制返回包含params和data的对象。

https.onCall函数的输入包含两个参数:第一个是客户端传入的data,第二个是包含请求上下文的context(比如用户认证信息、请求元数据等)。返回值是你在函数中主动return的内容——你可以返回包含业务数据的对象,也可以直接返回字符串、数字等合法的JSON可序列化数据,没有固定的强制结构。

示例代码:

const { onCall } = require("firebase-functions/v2/https");

exports.myCallFunction = onCall((request) => {
  // 客户端传入的参数
  const clientData = request.data;
  // 请求上下文信息
  const authContext = request.auth;

  // 自定义返回值结构
  return {
    status: "success",
    message: "处理完成",
    result: {
      userId: authContext?.uid,
      inputData: clientData
    }
  };
});

内容的提问来源于stack exchange,提问作者sparsespeculator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:13:13