查找未使用双因素身份验证的所有Google Apps用户

时间:2014-09-01 10:14:25

标签: google-app-engine google-apps-script google-api google-apps

我们正在为所有Google Apps用户实施双因素身份验证。

我已根据Google提供的示例(https://developers.google.com/apps-script/advanced/admin-sdk-directory#list_all_users)编写了一个脚本来列出Google Apps域中的用户

我想要使用双因素身份验证的用户过滤该列表,但我无法在User API中找到允许我这样做的任何地方。

如果用户使用双因素身份验证,有谁知道我能找到谁?

1 个答案:

答案 0 :(得分:9)

我在Reporting API(管理员SDK)中找到了此信息。

这是我刚才写的一段摘录:

function logUsers2step() {    
  var date = toISODate(new Date(Date.now()-3*24*60*60*1000));
  var reports = AdminReports.UserUsageReport.get('all', date).usageReports;
  nextReport: for( var r in reports ) {
    for( var p in reports[r].parameters )
      if( reports[r].parameters[p].name == 'accounts:is_2sv_enrolled' ) {
        Logger.log(reports[r].parameters[p].boolValue+' '+reports[r].entity.userEmail);
        continue nextReport;
      }
    Logger.log('not found '+reports[r].entity.userEmail);
  }
}

function toISODate(date) { return date.getFullYear()+'-'+pad(date.getMonth()+1)+'-'+pad(date.getDate()); }

function pad(number) { return number < 10 ? '0' + number : number; }

顺便说一句,您似乎可以在应用信息显示板上显示此报告,甚至可以enforce your users来执行此操作。