2016-07-08 5 views
0

Я новичок, когда дело доходит до кодирования, но с некоторыми успехами создал пару форматов google.populating google forms выпадающие списки с глобальным каталогом контактов

Первый вопрос в моей новой форме - «как вас зовут?». и я надеялся получить коробку, идентичную той, что была в Gmail, когда вы выбираете получателя, и она автоматически завершается по мере ввода - возможно ли это сделать в формах google, когда вы копируете любой код, который работает?

Я не мог это обработать, тем временем я пытался использовать раскрывающийся список элементов списка, который ищет контакты с помощью скрипта Google Apps. Пока у меня есть вопрос, который заполняет выпадающий список 84 экземпляра слова «контакт» (у меня 84 контакта в моем списке!), Но я не могу понять, как на самом деле получить имена.

var form = FormApp.getActiveForm(); 
var group = ContactsApp.getContacts(); 
var item = form.addListItem(); 
item.setTitle('What is your name?'); 

Вышеприведенный массив содержит 84 экземпляра контакта слова. Так вместо этого я попытался это ...

var form = FormApp.getActiveForm(); 
var group = ContactsApp.getContacts(); 
for (var i in group) { 
var now = (group[i].getFullName()); 
} 
var item = form.addListItem(); 
item.setTitle('What is your name?'); 
item.setChoiceValues(now); 

, который до сих пор делает массив 84 экземпляров контактов для вар группы, но и возвращает строку одного из моих контактов вар прямо сейчас. К сожалению item.setChoiceValues ​​нужен массив, а не строка.

В любом случае я не уверен, что это правильный подход, поскольку, похоже, это поиск моих личных контактов, а не глобального каталога в домене. Есть ли способ заполнить его контактами каталога без прав администратора? (У меня есть доступ к контактам в Gmail, поэтому почему бы и нет в Google Forms?)

Я знаю, что его также можно экспортировать .csv из контактов на лист и заполнить оттуда, но это не будет актуально, если Я ежедневно запускаю отчет SIMS (создавая дополнительную нагрузку на систему) и кажется ненужным, когда он явно работает в GMail уже.

Как я уже сказал, я новичок и буду признателен за любую помощь.

Благодаря

ответ

1

Вы задаете много вопросов здесь, так что я помогу, где я могу.

A) Я не уверен в функциях автоматического завершения, это в основном из-за того, что я сомневаюсь, что Google позволит вам избавиться от своего автозаполнения.

B) Вы так близки к своему второму подходу. Просто объявить «теперь» в виде списка и .push в него, например, так:

//outside the for loop 
var now = []; 

for (i in group) { 
    now.push(group[i]); 
} 

К концу вашего для цикла, то есть список «теперь» заполняется каждым членом группы, в порядке.

C) Я действительно не совсем уверен, что вы спрашиваете в этом последнем вопросе. Вы можете получить доступ к своим файлам gmail, так как вам гарантированно войти в Google благодаря доступу к формам Google. Но я не знаю, что есть какой-либо другой каталог контактов, доступ к которому возможен, если вы не сделаете его сами.

Я надеюсь, что это поможет.

0

Чтобы получить каждый из ваших людей электронной почты сделать

var email = group[i].getEmails()[0].getAddress;