我建立了几个这样的云函数:
const addRoom = functions.https.onCall((data, context) => {
它工作得很好,但我想将地区更改为欧洲西部。我遵循了这个stackoverflow:firebase deploy to custom region (eu-central1)
const addRoom = functions.region('europe-west1').https.onCall((data, context) => {
对于所有功能(触发)除onCall功能外,它看起来都可以正常工作。在客户端调用addRoom函数时出现此错误:
firebase.functions().httpsCallable("addRoom")(data)
访问地址为 原产地的“ https://us-central1-myproject.cloudfunctions.net/addRoom” “ http://localhost:4200/new-room”已被CORS政策禁止: 对预检请求的响应未通过访问控制检查: 预检请求不允许重定向。
此刻,我对onCall函数使用默认区域,但是有没有办法解决这个问题,或者那是firebase的错误?
答案 0 :(得分:3)
在客户端,您应该在初始化时指定所需的区域并按如下所示调用函数:
var functions = firebase.app().functions('europe-west1');
....
functions.httpsCallable("addRoom")(data)
请参见https://firebase.google.com/docs/functions/locations#http_and_client_callable_functions