无法将云函数部署到Firebase。请求缺少必需的身份验证凭据
我目前正尝试使用无法将云函数部署到Firebase。请求缺少必需的身份验证凭据,firebase,google-cloud-functions,Firebase,Google Cloud Functions,我目前正尝试使用Firebase部署将我的云函数部署到Firebase——只部署函数,但这似乎不起作用,它永远不会完成部署。我尝试使用命令firebase deploy--only functions--debug调试部署,这会打印出所有带有url的请求,这些请求会导致错误消息。每当我单击其中一个请求的url时,它都会显示以下错误: { "error": { "code": 403, "message": "The request is missing a valid API
Firebase部署将我的云函数部署到Firebase——只部署函数
,但这似乎不起作用,它永远不会完成部署。我尝试使用命令firebase deploy--only functions--debug
调试部署,这会打印出所有带有url的请求,这些请求会导致错误消息。每当我单击其中一个请求的url时,它都会显示以下错误:
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
其他url中的一些给我以下错误:
{
"error": {
"code": 401,
"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
}
There was an issue deploying your functions. Verify that your project has a Google App Engine instance setup at https://console.cloud.google.com/appengine and try again. If this
issue persists, please contact support.
! functions: Upload Error: HTTP Error: 503, The service is currently unavailable.
Error: HTTP Error: 503, The service is currently unavailable.
我在网上也找不到任何有用的方法来解决这个问题。不过,我找到的文章对我没有帮助
这是我的index.js
文件,其中我的云函数是:
const functions = require('firebase-functions');
const {firestore, auth} = require('./src/admin');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
这是我的admin.js
文件,我在其中定义了serviceAccountKey
等:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const serviceAccount = require('../serviceAccountKey.json');
const app = admin.apps.length
? admin.app()
: admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: functions.config().database.url || process.env.FIREBASE_CONFIG.databaseURL, // default firebase var
storageBucket: functions.config().storage.bucket || process.env.FIREBASE_CONFIG.storageBucket // default firebase var
});
module.exports = {
app,
firestore: app.firestore(),
db: app.database(),
storage: app.storage(),
auth: app.auth()
};
我以前在另一个项目中使用过这段代码,所以我假设这是Firebase问题,而不是我的代码。最后,我希望通过调用firebase deploy--only Functions
命令来部署我的云函数,而不会出现任何身份验证错误。
有人能告诉我我做错了什么吗
更新22-2-2020 12:44 PM:我尝试重新安装和重新配置firebase工具。执行此操作并再次运行命令后,出现以下错误:
{
"error": {
"code": 401,
"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
}
There was an issue deploying your functions. Verify that your project has a Google App Engine instance setup at https://console.cloud.google.com/appengine and try again. If this
issue persists, please contact support.
! functions: Upload Error: HTTP Error: 503, The service is currently unavailable.
Error: HTTP Error: 503, The service is currently unavailable.
URL将引导我进入可以设置应用程序引擎的页面。因为我已经设置好了,上面写着“你的应用引擎应用程序已经创建”。但是,每当我再次单击Get start
按钮时,我必须创建一个账单帐户才能继续。这让我无法部署云功能。有没有办法将云功能用于计费帐户?有什么问题?你是说你要点击的网址应该有作用吗?你能把问题编辑得更具体一些吗?道格·史蒂文森我把我的问题编辑了一下。我希望现在对你来说更具体一点。这里没有足够的信息告诉你要做什么。在调试输出中单击随机URL会发生什么?如果您在部署Firebase CLI时遇到问题,也许您应该解释Firebase支持的情况@Doug Stevenson我点击这些url的原因是为了找出部署的问题所在。这是我所掌握的关于出错原因的唯一信息来源。这些是Firebase API使用的内部API,用于诊断。无法通过将它们加载到浏览器中来使用它们。如果没有从CLI输出中获得任何有用的错误消息,则应联系Firebase支持。