如何通过Google Admin SDK API恢复已删除的Google Workspace用户?
使用Google Admin SDK恢复已删除Google Workspace用户的完整步骤
1. 获取已删除用户的Immutable ID
已删除用户无法通过邮箱作为userKey查询,必须调用列出已删除用户的API来获取其Immutable ID:
- 发送GET请求:
GET https://admin.googleapis.com/admin/directory/v1/users?showDeleted=true - 请求需携带有效的OAuth 2.0授权头(格式:
Authorization: Bearer YOUR_ACCESS_TOKEN) - 响应结果中,目标用户的
id字段即为所需的Immutable ID。如果用户数量较多,可添加查询参数过滤,比如?showDeleted=true&query=email:user@example.com精准定位。
2. 执行用户恢复操作
拿到Immutable ID后,调用undelete接口恢复用户:
- 发送POST请求,将
{userKey}替换为获取到的Immutable ID:POST https://admin.googleapis.com/admin/directory/v1/users/{userKey}/undelete - 请求体需指定用户恢复后的组织单元路径(必填),示例JSON:
{ "orgUnitPath": "/" } - 同样需要携带OAuth 2.0授权头,请求成功会返回恢复后的用户详情。
3. 将用户添加至组织单元(AD)
情况1:Google Workspace原生组织单元
- 若恢复时已指定
orgUnitPath,用户会直接加入对应组织;若需调整,调用用户更新API:
请求体修改PUT https://admin.googleapis.com/admin/directory/v1/users/{userKey}orgUnitPath为目标路径即可,比如{"orgUnitPath": "/Sales/TeamA"}。
情况2:与本地Active Directory同步
- 确保本地AD中存在该用户的账号信息(若已删除需先在本地AD恢复)
- 启动AD同步工具(如Google Cloud Directory Sync),触发一次全量或增量同步,同步完成后用户会自动加入对应组织单元。
4. 恢复完成后的其他操作
- 重置用户密码:恢复后的用户密码会失效,需调用重置密码API或在Admin控制台操作:
请求体可设置临时密码,或让系统自动生成。POST https://admin.googleapis.com/admin/directory/v1/users/{userKey}/resetPassword - 检查权限与角色:确认用户原有的管理员权限、应用访问权限是否恢复,若未自动恢复,需手动重新分配。
- 数据校验:验证用户的Drive文件、Gmail邮件、日历事件等数据是否完整恢复(删除超过25天的用户可能部分数据无法恢复)。
- 通知用户:告知用户账号已恢复,提供新密码或引导其自行重置密码。
- 第三方应用授权:若用户之前使用过第三方应用,可能需要重新授权访问Workspace数据。
内容的提问来源于stack exchange,提问作者Sunny Sinha
相关产品推荐
相关产品推荐

