从应用程序脚本中创建Google Apps中的用户

问题描述 投票:0回答:3

我正在使用Google Apps脚本通过电子表格批量创建Google应用程序中的用户 我的电子表格有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); }}

您可以添加是否条件如下检查重复的用户。

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 }}
    
javascript arrays google-apps-script google-admin-sdk
3个回答
1
投票

function checkIfUserExist(email) { try { //get the direcotry var adminDirectory = AdminDirectory.Users; //try to retrieve the user with the given email, if this fails an error will be generated adminDirectory.get(email); // if no error was generated previously return 1 return 1; } catch (e) { //if the attempt to get the user cause an error //if the error says not found if (e.message.indexOf('Not Found') !== -1) { //return 0 return 0; } else { //if the error does not include a not found text, something else happened console.log("ERROR: " + e.message); } } }

源检查:
https://developers.google.com/admin-sdk/directory/reference/rest

0
投票
Https://developers.google.com/admin-sdk/directory/reference/Rest/Rest/v1/users/get


使用 var userFromDirectory = AdminDirectory.Users.list.name


-1
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.