2017-04-05 271 views
1

我使用谷歌Apps腳本通過電子表格創建在谷歌Apps用戶大量建立在谷歌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); 


    }} 

回答

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 




     }} 
+0

非常感謝,我試過這個,並且它在var userFromDirectory = AdminDirectory.Users.get(email)時給出錯誤「Resource Not Found:userKey」;然後不前進。 –