Как вызвать Firebase Cloud Function, которая использует ExpressJS с cloud_functions - PullRequest
0 голосов
/ 02 мая 2020

У меня есть настройка Firebase Cloud Function с ExpressJS, на которую я хотел бы позвонить из моего приложения.

Я, конечно, мог бы просто выполнить http-запрос, но, поскольку есть пакет cloud_firestore (Дарт / Флаттер) Я подумал, что это будет лучший способ для go, предполагая, что он обработает аутентификацию для меня.

Конечная точка - это просто приложение express:

const app = express();
app.post('/message', async function (req:any, res: any) {
   ...
   other code
   ...
}

В моем приложении Flutter я делаю:

final HttpsCallable addMessage = new CloudFunctions(region: "us-central1")
      .getHttpsCallable(functionName: 'api');
  addMessage.call();

Это вернет ошибку NOT_FOUND, вероятно потому, что мне нужно указать путь для ExpressJS. Но я понятия не имею, как это сделать.

1 Ответ

1 голос
/ 02 мая 2020

Клиентская библиотека вызываемых функций Firebase не работает с произвольными конечными точками HTTP. Он предназначен для работы только с вызываемыми функциями, которые вы пишете в соответствии с документацией .

Если у вас есть стандартная конечная точка HTTP, просто используйте для этого обычную клиентскую библиотеку HTTP.

Если вы хотите передать учетные данные Firebase Auth вместе с запросом, есть несколько примеров этого в документации Firebase Admin SDK . (Вы используете Admin SDK для проверки учетных данных, переданных из клиентского приложения.)

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