Firebase запрещено GET URL-ответ на init - PullRequest
0 голосов
/ 20 марта 2020

Развернуто несколько функций Firebase (согласно документации)

firebase init

Изменен код на что-то вроде

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp();
exports.getUsers = functions
  .region('europe-west1')
  .https.onRequest((req, res) => {
    admin.firestore().collection('users').get().then(data => {
      const users = data.map(user => user.data());
      return res.json(users);
    }).catch(err => console.error(err));
  });

  exports.helloWorld = functions.https.onRequest((req, res) => {
    res.status(200).send('Hello, World!');
  });

Развернуто.

firebase deploy

И как конечный результат обе функции возвращают

Ошибка: запрещено Ваш клиент не имеет разрешения на получение URL / getUsers с этого сервера.

Ошибка: запрещено Ваш клиент не имеет у меня есть разрешение на получение URL / helloWorld с этого сервера.

В консоли администратора Firebase я вижу, что функции существуют, и они есть, и я использую те же самые точные URL, которые дал мне терминал на консоли администратора Firebase.

Есть идеи?

PS. Находится в Эстонии.

1 Ответ

0 голосов
/ 20 марта 2020

Хорошо,

Чтобы решить эту проблему, мне пришлось использовать свой мозг и проверить приборную панель на предмет облачных функций. Облачные функции не возвращают ошибку 500 в отличие от большинства распространенных API, вместо этого внутри панели управления я обнаружил, что:

TypeError: data.map is not a function
admin.firestore.collection.get.then.data ( /user_code/index.js:10 )

Это означает, что мое «приложение» зависало, как ни странно, оно давало мне ошибку 403. Для правильной оценки я также следовал этому:

Облачная функция Firebase «У вашего клиента нет прав на получение URL / 200 с этого сервера»

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