Android应用中获取Firebase Authentication所有用户邮箱方法咨询
获取Firebase Authentication所有用户邮箱列表的方法
针对你有近8000名Google Sign-in用户、需要导出邮箱列表的需求,有两种可靠的实现方式:
方法一:使用Firebase Admin SDK批量获取
Firebase Admin SDK支持分页查询所有认证用户,一次最多返回1000条数据,你可以通过循环遍历完成全量导出。以下是Node.js环境的实现步骤:
初始化Admin SDK
先在Firebase控制台下载服务账号密钥(JSON格式),然后在项目中引入并初始化:const admin = require('firebase-admin'); const serviceAccount = require('./path/to/serviceAccountKey.json'); admin.initializeApp({ credential: admin.credential.cert(serviceAccount) });分页遍历所有用户并收集邮箱
编写循环逻辑处理分页,直到获取完所有用户:async function getAllUserEmails() { const emails = []; let nextPageToken = null; do { const listUsersResult = await admin.auth().listUsers(1000, nextPageToken); listUsersResult.users.forEach(user => { if (user.email) { emails.push(user.email); } }); nextPageToken = listUsersResult.pageToken; } while (nextPageToken); // 将邮箱列表写入文件 const fs = require('fs'); fs.writeFileSync('user-emails.txt', emails.join('\n')); console.log(`已导出${emails.length}个用户邮箱`); } getAllUserEmails();
方法二:使用Firebase CLI直接导出
如果你不想编写代码,Firebase CLI的auth:export命令可以快速导出所有用户数据,包含邮箱字段:
安装并登录Firebase CLI
确保本地已安装Node.js,然后执行:npm install -g firebase-tools firebase login执行导出命令
切换到你的Firebase项目目录,运行:firebase auth:export user-emails.csv --format=csv --project=your-project-id导出的CSV文件中会包含
email列,你可以直接提取该列数据。
注意:两种方法都需要你拥有项目的管理员权限,导出过程中请确保网络稳定,避免中断导致数据不全。
内容的提问来源于stack exchange,提问作者Basit Abbasi
相关产品推荐
相关产品推荐

