【问题标题】:Creating users in Google Apps from Apps Script通过 Apps 脚本在 Google Apps 中创建用户
【发布时间】:2017-04-05 04:12:33
【问题描述】:

我正在使用 Google Apps 脚本通过电子表格在 Google Apps 中批量创建用户

我的电子表格有 4 列,其中我有名字、姓氏、emailId 和密码,因为这些是创建用户所必需的。

我的以下脚本工作正常,可以毫无问题地创建用户,但是如果任何用户已经存在,它就会停止,并且不会继续尝试电子表格中的其他用户。

我希望它遍历整个电子表格,跳过已经存在的,并创建不存在的

感谢任何帮助。

function createUsers() {


  var ss = SpreadsheetApp.getActive()
  var sheet = ss.getSheetByName("Create Users")
  var values = sheet.getDataRange().getValues()

  for(i=1; i <values.length; i++)
  {

    var fName = values[i][0]
    var lName = values[i][1]
    var email = values[i][2]
    var password = values[i][3]
    var status = values[i][4]
    var user = AdminDirectory.Users.insert({
      "primaryEmail": email,
       "password": password, 
      "orgUnitPath": "/MDM Testing",
      "name": {
        "familyName": lName,
        "givenName": fName

  }
      })

    Logger.log(user);


  }}

【问题讨论】:

    标签: javascript arrays google-apps-script


    【解决方案1】:

    您可以添加 If 条件来检查重复用户,如下所示。

    function createUsers() {
          var ss = SpreadsheetApp.getActive()
          var sheet = ss.getSheetByName("Create Users")
          var values = sheet.getDataRange().getValues()
    
          for(i=1; i <values.length; i++)
          {
    
            var fName = values[i][0]
            var lName = values[i][1]
            var email = values[i][2]
            var password = values[i][3]
            var status = values[i][4]
            // Check user exist or not by email address.
            var userFromDirectory = AdminDirectory.Users.get(email);
            if(email != userFromDirectory.primaryEmail){
              var user = AdminDirectory.Users.insert({
                "primaryEmail": email,
                "password": password, 
                "orgUnitPath": "/MDM Testing",
                "name": {
                "familyName": lName,
                "givenName": fName
    
              }
             })
              Logger.log(user);
    
            } // end of if
    
    
    
    
          }}
    

    【讨论】:

    • 非常感谢,我试过了,它在 var userFromDirectory = AdminDirectory.Users.get(email);然后不再前进。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2022-12-02
    相关资源
    最近更新 更多