Quiero automatizar la creación de usuarios en google como administrador donde uso el script de la aplicación para hacerlo, sin embargo, a partir de la documentación que estoy leyendo, no estoy seguro de si lo estoy haciendo bien, ya que recibo algunos errores en mi código, como después de POST y el script no funciona.
function createUsers() { const userjson = { "primaryEmail": "atest@example.com", "name": { "givenName": "afirstName", "familyName": "alastName" }, "suspended": false, "password": "pass2022", "hashFunction": "SHA-1", "changePasswordAtNextLogin": true, "ipWhitelisted": false, "orgUnitPath": "myOrgPath", }; const optionalArgs = { customer: 'my_customer', orderBy: 'email' }; POST https://admin.googleapis.com/admin/directory/v1/users try { const response = AdminDirectory.Users.list(optionalArgs); const users = response.users; //check if user exists if (!users || users.length === 0) //create new user return AdminDirectory.newUser(userjson); // Print user exists Logger.log('User Existing'); } catch (err) { // TODO (developer)- Handle exception from the Directory API Logger.log('Failed with error %s', err.message); } }
Según la documentación oficial , si desea hacerlo con Google Apps Script, debe formatear su código de la siguiente manera:
function createUsers() { const userInfo = { "primaryEmail": "jvd@domain.com", "name": { "givenName": "Jackie", "familyName": "VanDamme" }, "suspended": false, "password": "thisisasupersecret", "changePasswordAtNextLogin": true, "ipWhitelisted": false }; try{ AdminDirectory.Users.insert(userInfo); console.log("User added"); } catch(error){ const {code, message} = error.details; if(code === 409 && message === "Entity already exists."){ console.log("User already exists"); } else { console.log(`${code} - ${message}`); } } }
Si tiene alguna duda sobre cómo usar la carga útil de recursos de usuario, consulte la documentación oficial de la API REST .