Javascript Firebase云函数listUser获取1000+;使用者
在通过listUser()获取uid后,我想修改以所有用户的uid为键的数据库值,但listUser()的最大值为1000如果有一个好方法可以获取所有用户的uid,请让我知道Firebase Admin SDK支持分页以循环所有注册用户帐户。按照中的说明操作。您将需要使用API来循环1000个或更少的批次。文档中提供的代码示例说明了这一点:Javascript Firebase云函数listUser获取1000+;使用者,javascript,firebase,firebase-authentication,google-cloud-functions,firebase-admin,Javascript,Firebase,Firebase Authentication,Google Cloud Functions,Firebase Admin,在通过listUser()获取uid后,我想修改以所有用户的uid为键的数据库值,但listUser()的最大值为1000如果有一个好方法可以获取所有用户的uid,请让我知道Firebase Admin SDK支持分页以循环所有注册用户帐户。按照中的说明操作。您将需要使用API来循环1000个或更少的批次。文档中提供的代码示例说明了这一点: 谢谢你的回答,我希望所有用户UID都超过1000 exports.scheduledFunctionCrontab = functions.pubsub.s
谢谢你的回答,我希望所有用户UID都超过1000
exports.scheduledFunctionCrontab = functions.pubsub.schedule('5 20 * * *')
.timeZone('Asia/Seoul') // Users can choose timezone - default is America/Los_Angeles
.onRun((context) =>
{
var allUsers = [];
return admin.auth().listUsers()
.then(function (listUsersResult)
{
listUsersResult.users.forEach(function (userRecord)
{
// For each user
var userData = userRecord.toJSON();
allUsers.push(userData.uid);
console.log(allUsers);
});
//res.status(200).send(JSON.stringify(allUsers));
}).then(function ()
{
allUsers.forEach(function (elem)
{
db.ref(`Data/${elem}/Enter`).update({ test: 0, test2: 0 });
});
})
.catch(function (error)
{
console.log("Error listing users:", error);
//res.status(500).send(error);
});
});
function listAllUsers(nextPageToken) {
// List batch of users, 1000 at a time.
admin.auth().listUsers(1000, nextPageToken)
.then(function(listUsersResult) {
listUsersResult.users.forEach(function(userRecord) {
console.log('user', userRecord.toJSON());
});
if (listUsersResult.pageToken) {
// List next batch of users.
listAllUsers(listUsersResult.pageToken);
}
})
.catch(function(error) {
console.log('Error listing users:', error);
});
}
// Start listing users from the beginning, 1000 at a time.
listAllUsers();