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

Firebase 9中为Stripe客户门户Https Callable云函数指定部署位置

解决Firebase 9调用指定区域云函数的正确写法

问题原因

你遇到的CORS报错本质是云函数区域不匹配:Firebase 9默认调用us-central1区域的云函数,如果你部署Stripe订阅扩展时选择了其他区域,就会出现跨域拦截。你之前尝试的链式调用.location()是Firebase 8的语法,Firebase 9模块化API不支持该写法。

正确实现步骤

  1. 导入对应依赖
import { getFunctions, httpsCallable } from "firebase/functions";
  1. 初始化functions实例时直接传入区域参数
    这里的区域要和你部署Stripe扩展时选择的区域完全一致,示例用官方样例的us-east1:
// 第二个参数即为云函数部署区域
const functions = getFunctions(firebaseApp, "us-east1");
  1. 调用云函数的逻辑保持不变即可
export async function goToBillingPortal() {
  const functionRef = httpsCallable(functions, 'ext-firestore-stripe-subscriptions-createPortalLink');
  const { data } = await functionRef({ returnUrl: window.location.origin });
  window.location.assign(data.url);
}

注意事项

  • 务必确认区域参数和你实际部署扩展的区域一致,若你部署时选的是us-central1就将参数改为us-central1
  • 本地开发时如果仍有跨域问题,可以使用Firebase本地模拟器调试云函数,避免跨域限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:24:03