name
getUser () возвращает объект, вам нужно получить доступ к этому объекту, чтобы получить имя и фамилию пользователя.
Следующий скрипт получит всех пользователей в вашем домене ( если у вас есть права администратора), отсортированные по электронной почте и перечислите их на листе с именем Users
function listAllUsers() {
var ss = SpreadsheetApp.getActiveSheet();
var pageToken,
page;
var userInfo = []
do {
page = AdminDirectory.Users.list({
domain: '---------',
orderBy: 'email',
maxResults: 500,
pageToken: pageToken
});
var users = page.users;
if (users) {
for (var i = 0; i < users.length; i++) {
var user = users[i];
try {
userInfo.push([user.primaryEmail, user.name.givenName, user.name.familyName]);
} catch (e) {
userInfo.push([user.primaryEmail, "", ""]);
}
}
} else {
Logger.log('No users found.');
}
pageToken = page.nextPageToken;
} while (pageToken);
var sheet = ss.getSheetByName('Users')
sheet.getRange(2, 1, userInfo.length, userInfo[0].length).setValues(userInfo);
}
. Чтобы получить имена из списка пользователей, вы можете использовать следующий скрипт. Предполагается, что имена пользователей (адреса электронной почты) перечислены в столбце A, начиная со строки 2 и без разрывов.
В объекте name
.givenName
имеется 3 значения имя пользователя. .familyName
имя пользователя .fullName
- это имя и фамилия, разделенные пробелом
function usersNames() {
var ss = SpreadsheetApp.getActiveSheet();
var data = ss.getRange('A2:A').getValues();
var userNames = [];
for (var i = 0; i < data.length; i++) {
if (data[i][0]) {
var names = AdminDirectory.Users.get(data[i][0]).name
userNames.push([names.givenName, names.familyName]);
} else {
break;
}
}
ss.getRange(2, 2, userNames.length, 2).setValues(userNames)
}