Firebase "Не удалось загрузить учетные данные по умолчанию." Случайно происходит только в 50% случаев, когда работает нормально, остальные 50% дают мне эту ошибку - PullRequest
1 голос
/ 24 февраля 2020

Я получаю сообщение «Ошибка: не удалось загрузить учетные данные по умолчанию. Для получения дополнительной информации перейдите к 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 по какой-то причине.

Что еще страннее, иногда это случается, а иногда болеет go 2-3 часа, когда все работает нормально. И действительно, он работал нормально в течение нескольких недель, и это случайно появилось вчера, а теперь периодически происходит.

Есть идеи?

1 Ответ

1 голос
/ 24 февраля 2020

Похоже, что вы вызываете initalizeApp с пустым объектом:

admin.initializeApp({})

Это кажется неправильным. Если у вас нет конфигураций, которые нужно изменить для инициализации, и вы хотите использовать учетную запись службы по умолчанию, предоставляемую Cloud Functions, вам просто не нужно передавать никаких параметров:

admin.initializeApp()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...