我正在尝试使用Firebase函数。这个想法是创建某种功能的nodejs api。我的config.ts中有以下代码
import * as CORS from 'cors';
export const cors = CORS({ origin: true });
import * as express from 'express';
export const app = express();
app.use(cors);
//// Initialize Firebase ////
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp(functions.config().firebase);
export const db = admin.firestore();
export const auth = admin.auth();
和api.ts
import * as functions from 'firebase-functions';
import { app } from './config';
app.get('/converter', (req, res) => res.send('success'));
export const api = functions.https.onRequest(app);
我的期望是,当我导航到https://us-central1-XXXX.cloudfunctions.net/converter时,它应该显示字符串success
。不幸的是,我得到的只是这个:
Error: Forbidden
Your client does not have permission to get URL /converter from this server.
我该怎么做呢?
答案 0 :(得分:3)
从index.js导出函数时:
export const api = functions.https.onRequest(app);
您告诉Cloud Functions的是,您有一个名为api
的HTTPS端点,并且您完全通过一个快速应用程序为其提供服务。由于您的函数称为api
,因此所有URL均以api
为前缀。所以试试这个:
https://us-central1-XXXX.cloudfunctions.net/api/converter