Google管理员目录API SDK用户上次登录不完全准确

时间:2014-12-19 21:55:13

标签: c# google-api google-admin-sdk google-api-dotnet-client

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

Google曾经使用之前的api将帐户的上次登录时间分为三类。

  • last_login_time - 您上次使用用户界面直接登录Google服务
  • last_web_mail_time - 您上次登录gmail.com webmail
  • last_pop_time - 您上次从其服务器弹出或影响的时间。 (间接登录)

在新的SDK中,我没有看到具体的"我们如何填充这个"他们的文件中的评论。我想知道,并且自己在测试中找出规则时遇到了麻烦:

  1. 这是如何填充的?
  2. 如果并非所有包含更新此日期的用法(用法表示用户与其帐户之间的任何互动),我该如何获取其他日期?
  3. 我使用上次使用日期来回收空闲用户。因此,我需要准确表示这个日期是什么。我已经过测试,即使你需要登录pop,它仍然会在SDK LastLoggedIn属性中显示从谷歌帐户弹出。因此,任何从帐户中弹出并且不会登录的用户可能会被意外删除。

    API Reference

    感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这三个(以及更多)属性仍然存在,只是没有附加到" 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服务。这不包括登录pop等。

相关问题