繁体   English   中英

Firebase“无法加载默认凭据。” 仅随机发生 50% 的时间它工作正常,另外 50% 它给了我这个错误

[英]Firebase "Could not load the default credentials." Only happens randomly 50% of the time it works fine, the other 50% it gives me this error

我收到“错误:无法加载默认凭据。浏览到https://cloud.google.com/docs/authentication/getting-started了解更多信息。” 在我的 firebase 函数中随机记录以下内容:

/* eslint-disable promise/no-nesting */
/*jshint esversion: 8 */
const functions = require("firebase-functions");
const admin = require("firebase-admin");
const logging = require('@google-cloud/logging');
const stripe = require('stripe')(functions.config().stripe.token);
const currency = functions.config().stripe.currency || 'USD';


admin.initializeApp({
  //   credential: admin.credential.cert(serviceAccount),
  //   databaseURL: "https://removed.firebaseio.com"
});



const db = admin.firestore();



exports.CreateTime = functions.https.onRequest((req, res) => {

  var userURL = req.body.uURL;
  var userToken = req.body.utoken;
  var reqTask = req.body.task1;

  var userUID = req.body.uuid;

  console.log(userURL)

  var request = require("request");

  var headers = {
    "Authorization": "Bearer " + userToken,
    "Content-Type": "application/json",
    "Business": userURL
  };

  var dataString = { "taskId": reqTask };

  var options = {
    url: "https://api.plutio.com/v1.5/time-tracks",
    method: "POST",
    headers: headers,
    body: dataString,
    json: true
  };

  function callback(error, response, body) {
    if (!error && response.statusCode === 200) {
      console.log(body);

      console.log(body._id)

      let timeid = body._id

      db.collection("Users")
        .doc(userUID)
        .set({ currentTimeTrackID: timeid }, { merge: true })
        .catch(e => console.log(e));

    }

  }
  request(options, callback);
  res.status(200).send("Complete")
});

//End Time API

这很奇怪,因为一切似乎都在正常工作


 db.collection("Users")
        .doc(userUID)
        .set({ currentTimeTrackID: timeid }, { merge: true })
        .catch(e => console.log(e));

    }

似乎正在像它应该的那样拉当前时间轨道和 ID 并将其存储到数据库中。

然而,有时我会收到该错误,并且无论何时该错误发生在这里,它似乎都出于某种原因影响了我使用 currentTimeTrackID elswhere。

更奇怪的是有时会发生这种情况,有时会在 2-3 小时内完全正常工作。 并且它确实工作了好几个星期,这昨天随机出现,现在定期发生。

有任何想法吗?

似乎您正在使用空对象调用 initalizeApp :

admin.initializeApp({})

这似乎不对。 如果您没有任何要更改的初始化配置,并且您想使用 Cloud Functions 提供的默认服务帐户,则只需不传递任何参数:

admin.initializeApp()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM