Google Admin Directory API SDK 用户上次登录并不完全准确

本文关键字:登录 不完全 Directory Admin API SDK 用户 Google | 更新日期: 2023-09-27 18:34:42

我使用 .Net API 在 Google Apps 中管理我组织的用户。在目录 API 中,您可以"检索用户"。这将返回一个 User 对象,该对象具有 "LastLoginTime" 的日期属性。

谷歌过去常常使用以前的API将帐户的最后登录时间分为三类。

  • last_login_time - 您上次使用UI直接登录Google服务的时间
  • last_web_mail_time - 您上次登录网络邮件的时间 gmail.com
  • last_pop_time - 您上次从他们的服务器弹出或 imap 的时间。(间接登录(

在新的SDK中,我没有在他们的文档中看到特定的"我们如何填充这个"评论。我想知道,并且很难自己测试以找出规则:

  1. 这是如何填充的?
  2. 如果更新此日期的不是全部包含使用情况(使用意味着用户与其帐户之间的任何交互(,如何获取其他日期?

我使用上次使用日期来回收空闲用户。因此,我需要准确表示这个日期是什么。我已经测试过了,似乎从谷歌帐户弹出没有在SDK LastLoggedIn属性中表示,即使你需要登录才能弹出。因此,任何从帐户弹出且未"登录"的用户都可能被意外删除。

接口参考

感谢任何帮助。

Google Admin Directory API SDK 用户上次登录并不完全准确

这三个(以及更多(属性仍然存在,只是没有附加到"LastLoginTime"。如果想知道帐户是否确实处于空闲状态,则需要使用 Google.Apis.Admin.Reports.reports_v1 API。可以通过 NuGet 进行安装。

创建服务对象后(许多堆栈答案可以向您展示如何执行此操作(,用法如下:

UserUsageReportResource resource = _service.UserUsageReport;
UserUsageReportResource.GetRequest request = resource.Get("User@domain.ca", "yyyy-mm-dd");
UsageReports report = request.Execute();

需要搜索所有交互日期,包括LastLoginTime,然后获取最新的日期。每个应用程序都有不同的日期,都与用户上次执行 X 操作的时间有关。

LastLoginTime似乎只是用户最后一次直接或间接(通过设备(登录Gmail服务的时间。这不包括登录流行音乐等。