Я пытался заставить мое меню множественного выбора отобразить список пользователей, которые серверный скрипт извлекает из AdminDirectory.
Пока у меня есть поле параметров множественного выбора, вызывающее функцию вклиентский скрипт, клиентская функция принимает доменное имя пользователя, вызывает серверную функцию, которая извлекает всех пользователей, связанных с этим доменом, и возвращает массив полных имен пользователей.Затем клиентский скрипт возвращает этот массив в поле опций Multi Select и должен отображать массив полных имен в качестве выбираемых опций, вместо этого на экране ничего не отображается.
Когда я тестирую это с фиктивным массивом, который содержит несколько фиктивных символовимена в клиентском скрипте будут отображаться правильно, если я протестирую фиктивный массив в серверном скрипте, который он не отобразит.Итак, из того, что я могу сказать, проблема в сценарии сервера, и я предполагаю, что это связано с задержкой получения информации из сценария сервера.
Мне просто нужен способ отобразить всех пользователей из текущего домена пользователя приложения в виде списка с несколькими вариантами выбора, если кто-то может придумать способ исправить мой процесс или знает о более простом способе сделать этоэто было бы здорово!
Вот мой код для справки:
function testingMultiSelectList(domain) {
var testArray = ['test 1', 'test 2', 'test 3'];
var array;
google.script.run.withSuccessHandler( function (result) {
array = result;
console.log("PRINT " + array);
return array;
}).withFailureHandler( function (result) {
console.log("FAILED!");
return array;
}).tryServerScript(domain);
//return testArray;
}
И скрипт сервера:
function tryServerScript(domain) {
var users;
var getter;
var holder;
var listUsersNames = new Array(0);
getter = AdminDirectory.Users.list({
domain: domain,
orderBy: 'givenName',
maxResults: 100,
});
users = getter.users;
if (users) {
for (var x = 0; x < users.length; x++) {
holder = users[x].name.fullName;
console.log("Holder: " + holder);
listUsersNames.push(holder);
}
}
console.log("Users: " + listUsersNames);
return listUsersNames;
}