2017-01-13 3 views
0

Я пытаюсь выяснить, как я могу получить информацию о базе данных с помощью столбца электронной почты, создать массив со всеми адресами электронной почты, а затем использовать функцию «кнопка», чтобы заполнить «Кому: часть страницы электронной почты.Создание списка адресов электронной почты из базы AppMaker

Любая помощь приветствуется. Очень новое в этом и указывая на то, где получить информацию, было бы здорово. Спасибо

ответ

3

Я рекомендую вам запустить серверный скрипт, который будет запрашивать источник данных, содержащий электронные письма. Сценарий будет выглядеть примерно так:

function getEmails(){ 

    var query = app.models.<yourmodel>.newQuery(); 
    var results = query.run(); 

    var allEmails = []; 

    if(results.length > 0){ 
    for(var i = 0; i < results.length; i++){  
     var uniqueEmail = results[i].<emailfieldname>; 
     allEmails .push(uniqueEmail);  
    } 
    } 

    return allEmails;  

} 

Затем добавьте сума к кнопке виджета «OnClick» событие, которое будет запускать скрипт на сервер и управлять возвращаемые данные. Что-то похожее на это:

function poulateToField(response){ 

    var emails = ""+response; 
    <widget path> = text; 

} 

google.script.run.withSuccessHandler(poulateToField).getEmails(); 

выше виджет путь будет путь к «To:» виджет, который может быть текстовое поле, текстовая область и т.д. В моем случае, я использовал текст область и путь был этот «widget.parent.descendants.TextArea1.value»

Я надеюсь, что это помогает. Если у вас есть еще вопросы, просто дайте мне знать!)

P.D. Пожалуйста, не забудьте ознакомиться с official documentation для получения более подробного объяснения.

2

Вы также можете использовать прогнозы для получения списка элементов (электронных писем) из вашего источника данных. В соответствии с этой статьей https://developers.google.com/appmaker/ui/binding#projections: пусть

Проекция доступ к свойствам из записей в списке пунктов источника данных в. Доступ к проекциям с параметром ..projections .. в дополнительном мастере привязки или использование оператора проекции .. в пути привязки . Например, для источника данных Employees с именем свойство @ datasources.Employee.items..name возвращает список всех названий сотрудников .

Вы можете проверить «Вызов Scripts» руководство, которое покажет вам, как отправить электронную почту с помощью App Maker, которая доступна здесь https://developers.google.com/appmaker/tutorials/call-scripts/

Для использования прогнозов и после вышеуказанного руководства, в Шаг № 2 под «Создать пользовательский интерфейс»: Добавить текстовое поле для получателя:

c. В редакторе свойств вместо ввода значения «Кому» в виджет «Текстовое окно» вы можете выбрать «Связывание» и привязать виджет к проектам Datasource по этому пути: источник данных> элементы> ..проекты ..> Email (имя поле источника данных, где письма расположены)

Например, проекция будет выглядеть следующим образом: @ datasource.items..email

это будет автоматически связывать все письма, которые доступны в вашем источнике данных в текст виджет. Затем вы можете заполнить руководство, и электронные письма будут отправлены на все адреса электронной почты в вашем источнике данных. Надеюсь это поможет.

+2

Это самый простой способ, если у вас есть все записи на клиенте. Если у вас есть только некоторые записи на клиенте, например. одна страница или запрос с фильтрами, то лучше использовать сценарий на стороне сервера, как описано в других ответах. –