use*_*646 5 android firebase firebase-authentication
我正在使用Firebase制作一个android聊天应用程序。到目前为止,我已经制作了一个普通的群聊应用。现在,我要使其成为一个单独的聊天应用程序,它将具有一个“用户”列表,当我们从该列表中选择一个人时,我们可以与他/她单独聊天。但是,我无法从Firebase获取此用户列表。我在Firebase身份验证用户界面中保留了Google登录和电子邮件登录选项。任何帮助,将不胜感激
如果您需要通过或查找用户uid,则可以使用Admin SDK来进行查找:emailphoneNumber
https://firebase.google.com/docs/auth/admin/manage-users
您甚至还可以下载所有用户:https : //firebase.google.com/docs/auth/admin/manage-users#list_all_users
您可能需要从Node.js后端服务器或通过具有Firebase功能的HTTP端点进行此操作。
此外,借助Admin SDK,您可以设置自定义用户属性,如果您要创建其他用户组,这可能会有所帮助:
https://firebase.google.com/docs/auth/admin/custom-claims
admin.auth().setCustomUserClaims(uid, {groupId: '1234'})
Firebase Admin SDK 允许批量检索整个用户列表:
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();
Run Code Online (Sandbox Code Playgroud)
注意:此 API 目前仅可用于 Admin Node.js SDK。
通过https://firebase.google.com/docs/auth/admin/manage-users
您无法从 Firebase 身份验证中检索所有经过身份验证的用户的数据,但只能获取当前用户。
为了获取注册用户的数据,您需要将其存储到数据库中,然后检索整个数组,或者您可以只保留身份验证标志,如果用户在所有用户表中注册,则可以设置或重置该身份验证标志,反之亦然。反之亦然。
正如@Jason 所提到的,您可以尝试 Admin SDK,因为文档中提到 listAllUsers() 可以检索批量用户数据。
详细的解释可以在这个线程中
找到。
| 归档时间: |
|
| 查看次数: |
10256 次 |
| 最近记录: |