Я предполагаю, что вам нужны следующие данные:
Оба externalIds
и organizations
являются массивами. Они допускают несколько наборов данных для одного человека.
Если в вашей базе данных есть только один набор данных для каждого человека, вы можете попробовать:
user.externalIds[0].value
user.organizations[0].title
user.organizations[0].type
user.organizations[0].department
PS: я не использовал этот API, и эти предложения основаны на моем чтении документов. Дайте мне знать, если это работает. Желаем удачи.
PPS: Я бы также предложил отправить все данные на лист за один go, чтобы свести к минимуму количество обращений к листу
sheet.getRange(n + i + 2, 1, 1, 5).setValues([user.name.fullName, user.name.givenName, user.name.familyName, user.primaryEmail, user.orgUnitPath]);
Это может быть даже более эффективно помещать все пользовательские данные в массив и публиковать их на листе в один go.
. Кроме того, можно избежать вызова SpreadsheetApp.flush()
для каждого пользователя. Лучше всего сделать это один раз в конце публикации данных.
Редактировать
Чтобы не пропустить пропуски externalId
, вы можете попробовать:
if (user.externalIds) {
var extID = user.externalIds[0].value;
} else {
extID = null;
}
а затем опубликуйте extId
на листе.