Функция Firebase Callable: Ответ на предпечатную проверку недействителен - PullRequest
0 голосов
/ 13 октября 2018

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

Вызываемая функция - это простая функция для возврата некоторого текста на данный момент:

exports.getSomeInfo = functions.https.onCall(async (data, context) => {
  return 'some info';
});

В моем приложении я загружаю функцию с помощью:

const getSomeInfo = firebase.functions().httpsCallable('getSomeInfo');

и вызываю еев приложении с:

getSomeInfo();

Это приводит к ошибке:

Failed to load https://us-central1-[project-ID].cloudfunctions.net/getSomeInfo: Response for preflight is invalid (redirect)

Эта ошибка возникает при вызове функции на локальном компьютере с использованием firebase serve и в развернутом приложении.

Просмотр журналов в консоли Firebase не показывает журналов или ошибок.

В других проблемах упоминается, что это может быть проблема CORS или неправильная конфигурация Firebase.Я убедился, что конфигурация Firebase верна.И попробовал несколько решений CORS, но продолжаю получать ошибку выше.

Использование Firebase@5.5.2.

Что еще может быть причиной этой ошибки?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Это случилось со мной пару дней назад.Проблема заключалась в том, что когда я запускал firebase deploy, функции в моем каталоге src не компилировались.Были ошибки машинописи, которые мешали его компиляции.Я думаю, вы можете проверить, скомпилирован ли он, проверив папку lib и index.ts внутри.

0 голосов
/ 13 октября 2018

Как указано в документации , для вызываемой по HTTPS функции вам необходимо "вернуть данные, которые могут быть закодированы в JSON" .

Так что если вы что-то делаетекак и далее, оно должно работать.

exports.getSomeInfo = functions.https.onCall((data, context) => {
  return {result: 'some info'};
});

Обновление: удалено async

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