Я развернул следующую облачную функцию:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.getAllUsers = functions.https.onRequest((req: any, res: any) => {
return admin.listUsers().then((userRecords: any) => {
userRecords.users.forEach((user: any) => console.info(user.toJSON()));
res.end('Retrieved all users successfully.');
}).catch((error: any) => console.info('Request failed: ', error));
})
Но всякий раз, когда я пытаюсь запустить его, я получаю следующую ошибку:
TypeError: admin.listUsers is not a function
at exports.getAllUsers.functions.https.onRequest (/srv/functions/lib/index.js:102:11)
at cloudFunction (/srv/functions/node_modules/firebase-functions/lib/providers/https.js:57:9)
at process.nextTick (/srv/node_modules/@google-cloud/functions-framework/build/src/invoker.js:243:17)
at process._tickCallback (internal/process/next_tick.js:61:11)
Как мне это решить? И как мне добавить параметр для разбиения моих данных на страницы, т.е. чтобы получить 100 пользователей за раз или что-то в этом роде? Я ожидаю вызвать конечную точку следующим образом: curl http://localhost:5000/sweltering-fire-5301/us-central1/getAllUsers. Как это будет выглядеть с параметром, например, «http://localhost:5000/sweltering-fire-5301/us-central1/getAllUsers?limit=5&page=2»

Если вы импортировали SDK администратора следующим образом:
const admin = require("firebase-admin")
Затем listUsers доступен вам следующим образом:
admin.auth().listUsers()
Возможно, вы захотите проверить документация и Справочник по API, так как у них есть все, что вам нужно, чтобы это произошло.
Он был импортирован, я следовал приведенному здесь руководству: bigcodenerd.org/get-all-users-auth-firebase-cloud-функции, чтобы сделать данные доступными в качестве конечной точки, но без особого успеха.