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

如何通过Google Script获取Google Apps用户账号的SUSPEND DATE?

获取Google账号的暂停日期(Suspend Date)方法

嘿,我刚好对这个问题很熟悉!你现在用的Google Script应该是调用了Admin SDK的Directory API,对吧?其实这个API里确实有专门的字段可以获取账号的暂停日期,只是可能你之前没留意到。

下面是具体的实现思路和代码示例:

  • 首先确保你已经启用了Admin SDK API:在Google Apps Script编辑器中,点击「资源」→「高级Google服务」,找到「Admin Directory API」并开启。另外,你的账号必须拥有Google Workspace管理员权限,否则没法调用用户管理相关的接口。

  • 对应的字段是suspendedTimestamp,它会返回账号被暂停时的ISO格式时间戳。你可以通过AdminDirectory.Users.get()方法获取用户详细信息时拿到这个值。

举个实际的代码例子:

function getUserSuspendDetails(userEmail) {
  try {
    // 获取目标用户的完整信息
    const userInfo = AdminDirectory.Users.get(userEmail);
    
    // 提取你需要的字段,包括暂停日期
    const userDetails = {
      fullName: userInfo.name.fullName,
      email: userInfo.primaryEmail,
      firstName: userInfo.name.givenName,
      lastName: userInfo.name.familyName,
      lastLogin: userInfo.lastLoginTime ? new Date(userInfo.lastLoginTime) : "从未登录",
      suspendStatus: userInfo.suspended,
      suspendReason: userInfo.suspensionReason,
      createDate: new Date(userInfo.creationTime),
      // 关键:获取暂停日期
      suspendDate: userInfo.suspended ? new Date(userInfo.suspendedTimestamp) : "未暂停"
    };
    
    Logger.log(JSON.stringify(userDetails, null, 2));
    return userDetails;
  } catch (error) {
    Logger.log(`获取用户信息失败:${error.message}`);
    return null;
  }
}

额外说明:

  • suspendedTimestamp字段仅在账号处于暂停状态(userInfo.suspended为true)时存在,所以一定要先做判断,避免出现undefined的错误。
  • 如果是批量获取用户列表,可以在AdminDirectory.Users.list()的参数里设置projection: 'full',这样返回的每个用户对象都会包含所有详细字段,自然也包括suspendedTimestamp。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:02:32