Skip to content

Instantly share code, notes, and snippets.

@gjyoung1974
Last active May 5, 2020 02:06
Show Gist options
  • Save gjyoung1974/cccb79230c135372ecc474d9a2e053a9 to your computer and use it in GitHub Desktop.
Save gjyoung1974/cccb79230c135372ecc474d9a2e053a9 to your computer and use it in GitHub Desktop.
/**
* Gets users in a GSuite directory and add to a Gsheet
*/
function GetAllDirectoryUsers() {
// Create a new sheet - TODO append a running sheet
var sheet = SpreadsheetApp.create('Gordon_Sheet').getActiveSheet();
var sheet = sheet;
var sheetrange = sheet.getRange("A:F")
sheetrange.clear()
var data = []; // array to store values
data.push(['Email', 'Firstname', 'Lastname', 'Suspended', 'LastLoginTime', 'Creation', 'orgUnitPath','aliases']); // Store sheet headers
var pageToken, page;
do {
page = AdminDirectory.Users.list({
domain: 'example.com',
pageToken: pageToken
});
var users = page.users;
if (users) {
for (var i = 0; i < users.length; i++) {
var user = users[i];
//store in an array of arrays (one for each row)
data.push([user.primaryEmail, user.name.givenName, user.name.familyName, user.suspended, user.lastLoginTime, user.creationTime, user.orgUnitPath, user.aliases]);
}
} else {
Logger.log('No users found.');
}
pageToken = page.nextPageToken;
} while (pageToken);
sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
var dated = sheet.getRange("P1")
dated.setValue(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd-MMM-yyy'));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment