错误:禁止 您的客户端无权从此服务器获取 URL /api/app

2023-12-28

我在访问 Firebase 帐户内的 JSON api 时遇到问题。我将在终端中输入“firebase deploy”,它将返回以下 url,

https://myProjectID.firebaseapp.com https://myProjectID.firebaseapp.com

如果我然后将其输入浏览器,我会得到我的索引.html页面所以我知道它通常有效。但由于我正在尝试访问 API,所以我搜索了 URL/api/app,该 URL/api/app 在我运行“firebaseserve”时有效,但在我运行部署时无效。它返回以下内容

错误:禁止 您的客户端无权从此服务器获取 URL /api/app

但是我的 Gmail 帐户在 Firebase 上是允许的,并且一切都已检查,但 Firebase 和云功能仍然不允许我访问我的 API。请帮忙。

这是我的代码。

INDEX.JS

const functions = require("firebase-functions");
const server = require(__dirname,"../server.js");
const api = functions
  .runWith({ memory: "2GB", timeoutSeconds: 120 })
  .https.onRequest(server);

module.exports = {
  api
};

服务器端JS

const express = require("express");
const path = require("path");
const logger = require("./middleware/logger.js");
const cors = require("cors");

const routes = require("./router/routes.js");

let app = express();

// Init Middleware
app.use(logger);

// Set static folder
app.use(express.static(path.join(__dirname, "public")));
app.use(cors({ origin: true }));
app.use("/", routes);

module.exports = app;

Firebase.JSON

{
  "database": {
    "rules": "database.rules.json"
  },
  "hosting": {
    "public": "public",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "**",
        "function": "server"
      }
    ]
  }
}

必须在您的 GCP Console 中解决该问题。只需按照以下步骤操作:

  1. 去你的GCP 控制台 https://console.cloud.google.com/并登录
  2. 在顶部菜单中,选择相应的 Firebase 项目
  3. 在左侧菜单中转到云功能
  4. 单击您的函数的复选框(不是函数的名称)
  5. 选择后,在右侧菜单中选择“添加成员”
  6. 在“新成员”中输入 allUsers
  7. 在选择函数栏上,选择云函数 -> 云函数调用器
  8. 单击“保存”,然后在弹出警告中单击“允许公共访问”

你就可以出发了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:禁止 您的客户端无权从此服务器获取 URL /api/app 的相关文章

随机推荐