Вы, похоже, путаете два типа функций Cloud:
- Вызываемые функции, которые вы вызываете из своего приложения с помощью Firebase SDK.
- Обычные функции HTTP, которые вы вызываете из своего приложения, API-интерфейс обычного HTTP-клиента вашей клиентской платформы.
Облачные функции, которые вызываются с помощью обычных запросов HTTPS
Когда вы объявляете свою функцию как functions.https.onRequest
, вам нужно написать свой ответ объекту ответа. Основываясь на документации о вызове функций через HTTP-запросы , вам необходимо выполнить:
exports.listAllUsers = functions.https.onRequest((req, res) => {
// List batch of users, 1000 at a time.
var allUsers = [];
return admin.auth().listUsers()
.then(function (listUsersResult) {
listUsersResult.users.forEach(function (userRecord) {
// For each user
var userData = userRecord.toJSON();
allUsers.push(userData);
});
res.status(200).send(JSON.stringify(allUsers));
})
.catch(function (error) {
console.log("Error listing users:", error);
res.status(500).send(error);
});
});
Вызов облачных функций, которые вызываются с помощью Firebase SDK
Если вы хотите вызвать вашу облачную функцию из вашего приложения, используя Firebase SDK , вам нужно объявить свою функцию как:
exports.listAllUsers = functions.https.onCall((data, context) => {
// List all users
return listAllUsers();
});