You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AdminDirectory.Users.list设置showDeleted=true时query参数会被忽略吗?

结论

这是Google Admin Directory Users.list接口的默认行为,并非你遗漏了配置项。

原因说明
  • 当接口请求携带showDeleted: 'true'参数时,接口仅对已删除用户的数据集做查询,该数据集不支持email=xxx这类面向活跃用户的过滤规则,所以你传入的query参数会被直接忽略,返回所有符合域条件的已删除用户列表。
  • 查询活跃用户时没有上述限制,所以你的原有逻辑可以正常返回匹配的用户信息。
可行解决方案

方案1:全量拉取后本地过滤

先拉取当前域下所有已删除用户,再在代码层匹配目标邮箱:

var deletedUsersRes = AdminDirectory.Users.list({
  domain: 'mydomain.com',
  showDeleted: 'true'
});
var allDeletedUsers = deletedUsersRes.users || [];
// 本地匹配目标邮箱
var targetDeletedUser = allDeletedUsers.find(item => item.primaryEmail === 'name.surname@mydomain.com');
if(targetDeletedUser) {
  // 执行恢复操作
  AdminDirectory.Users.undelete({}, targetDeletedUser.id);
}

方案2:已知用户ID时直接查询

如果你提前留存了目标用户的唯一用户ID,可以直接调用Users.get接口定位目标用户,无需拉取全量列表:

var targetDeletedUser = AdminDirectory.Users.get('目标用户的唯一ID', {
  showDeleted: 'true'
});

内容的提问来源于stack exchange,提问作者Daniele Debiagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:33:01