Node.js Firebase云函数返回403

Node.js Firebase云函数返回403,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,我在部署firebase云功能时遇到一些问题。到目前为止,代码非常简单,这是整个index.js文件: const functions = require('firebase-functions') const express = require('express') const cors = require('cors') const app = express() app.use(cors({origin: true})) app.get( "/test"

我在部署firebase云功能时遇到一些问题。到目前为止,代码非常简单,这是整个
index.js
文件:

const functions =   require('firebase-functions')
const express =     require('express')
const cors =        require('cors')

const app = express()

app.use(cors({origin: true}))

app.get(
  "/test",
  (req, res) => {
    res.status(200).send({message: "Hello world!"})
  }
)

exports.api = functions.https.onRequest(app)
在运行
npm-run-service
npm-run-deploy
之后,我使用postman测试功能。 如果我从本地测试函数,它可以正常工作,但是如果我测试部署的相同函数,我会得到一个403禁止的错误

在文档()中,它说:

警告:新的HTTP和HTTP可调用函数与任何 低于7.7.0版的Firebase CLI在默认情况下是私有的,并抛出 调用HTTP 403时出错。或者显式地使这些函数 公共,或在部署任何新应用程序之前更新Firebase CLI 功能

但我使用的是firebase工具版本:

 $ firebase tools --version
8.2.0
所以我真的不明白怎么了!我怎样才能解决这个问题

编辑:我正在添加我在Postman中使用的url:

没有特殊设置或类似设置,我只是复制
npm run service
npm run deploy
作为api url返回的url,我设置为方法“GET”,然后单击发送:

编辑2: 运行
npm运行日志
仅显示以下内容:

2020-05-02T19:47:51.489Z I :
2020-05-02T19:47:57.764Z I :
2020-05-02T19:47:59.869Z N test:
2020-05-02T19:49:08.122Z N test:
2020-05-02T20:01:51.080Z I :
2020-05-02T20:01:51.493Z I :
2020-05-02T20:01:53.614Z N test:
2020-05-02T20:02:39.239Z N test:
2020-05-02T20:19:54.468Z I :
2020-05-02T20:19:54.922Z I :
2020-05-02T20:20:39.288Z N api:
2020-05-02T20:20:39.314Z N test:
2020-05-02T20:20:42.556Z N test:
2020-05-02T20:21:30.541Z N api:
2020-05-02T20:29:33.576Z I :
2020-05-02T20:29:33.838Z I :
2020-05-02T20:29:35.333Z N api:
2020-05-02T20:30:29.021Z N api:
2020-05-02T20:37:34.864Z I :
2020-05-02T20:37:35.175Z I :
2020-05-02T20:37:36.833Z N api:
2020-05-02T20:38:17.906Z N api:
firebase控制台的日志显示:

{"@type":"type.googleapis.com/google.cloud.audit.AuditLog","status":{},"authenticationInfo":{"principalEmail":"projectOwnerEmail.com"},"serviceName":"cloudfunctions.googleapis.com","methodName":"google.cloud.functions.v1.CloudFunctionsService.UpdateFunction","resourceName":"projects/PROJECT_NAME/locations/us-central1/functions/api"}


请编辑该问题,以准确显示您是如何发出请求的,尤其是URL路径。控制台中的函数日志是怎么说的?您是否通过将调用程序角色赋予allUsers来打开函数public?如果没有,则必须使用服务帐户密钥文件(并将GOOGLE_APPLICATION_CREDENTIALS env var设置为密钥文件的路径)或使用OAuth对HTTP请求进行身份验证。请查看此问题,编辑问题以准确显示您是如何发出请求的,尤其是URL路径。控制台中的函数日志是怎么说的?您是否通过将调用程序角色赋予allUsers来打开函数public?如果没有,则必须使用服务帐户密钥文件(并将GOOGLE_APPLICATION_CREDENTIALS env var设置为密钥文件的路径)或使用OAuth对HTTP请求进行身份验证。看到这个了吗