我正在尝试在node.js中创建所有Firebase用户的列表。我正在按照https://firebase.google.com/docs/auth/admin/manage-users
上的说明进行操作运行以下代码时,我抛出一个错误提示
TypeError: admin.auth(...).listUsers is not a function
我怀疑firebase文档在不同地方以不同的方式使用“ admin”,而我从初始化中在下面使用的“ admin”不是我应该用来列出用户的那个,但是我不能弄清楚如何纠正它。该文档不是很清楚。
请注意,对于.initializeApp({...})
代码,我添加了一些“ ...”,否则我的文本正确。
var admin = require('firebase-admin');
var serviceAccount = require('../serviceAccountKey');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://...',
databaseAuthVariableOverride: {
uid: ' ... ',
},
});
const db = admin.database();
const refUsersServer = db.ref('usersServer');
function listAllUsers(nextPageToken) {
// List batch of users, 1000 at a time.
// admin.auth().listUsers(1000, nextPageToken)
admin.auth().listUsers(1000, nextPageToken)
.then(function(listUsersResult) {
listUsersResult.users.forEach(function(userRecord) {
console.log("user", userRecord.toJSON());
});
// List next batch of users.
if (listUsersResult.pageToken) {
listAllUsers(listUsersResult.pageToken)
}
})
.catch(function(error) {
console.log("Error listing users:", error);
});
}
// Start listing users from the beginning, 1000 at a time.
listAllUsers();
答案 0 :(得分:1)
该代码可以正常运行,但只能在最新的firebase-admin版本中使用。在早期版本中,listUsers函数没有退出。
我的错误是我没有运行最新的firebase-admin版本,这要感谢我意识到的David'G'。谢谢。