Показать сообщение отдельно
  #1 (permalink)  
Старый 21.09.2019, 22:22
Новичок на форуме
Отправить личное сообщение для lexa201260 Посмотреть профиль Найти все сообщения от lexa201260
 
Регистрация: 21.09.2019
Сообщений: 2

Извлечение электронного адреса из массива в Google Script
Добрый день, вечер и.т.д. Возникла сложность с написанием кода для Gooogle Script. Сложность состоит в следующем: Нужно сделать скрипт который извлекает из Google Contact контакты из определенной группы и в них содержаться следующие данные: Номер телефона, заметки, электронная почта. С первыми двумя я справился, а вот с почтой беда. Внизу показываю код:
function add_contact() //Добавляет в контакты клиентов с договорами
{
  var i = 0;
  var v = "";
  var group = ContactsApp.getContactGroup('Клиенты (CDEK)'); //Присвоить переменной группу
  var contactsArray = group.getContacts();  //Присвоить переменной контакты группы
  var phones=contactsArray[i].getPhones();  // Присвоить переменной номера телефонов
  var notes1 = contactsArray[i].getNotes();  //Присвоить переменной заметки контактов
  var emails = contactsArray[i].getEmails();
  while (i != contactsArray.length) // выполнять пока переменная i не будет равна количеству контактов
  {
    notes1 = contactsArray[i].getNotes();
    phones=contactsArray[i].getPhones();
    emails = contactsArray[i].getEmails();
    v = v + phones[0].getPhoneNumber() + "\n" + notes1 + "\n" + emails[0].getDisplayName() + "\n" + "---------------------" + "\n";
    i++;
  }
  SpreadsheetApp.getUi().alert(v);
}

Так вот из Google Документации сказано чтобы отобразить данные электронной почты необходимо использовать getDisplayName() но это не работает. Если не использовать данный метод, а использовать чисто переменную emails тогда получается следующее:
+7 928 374-23-97


---------------------
+7 928 652-34-05


---------------------
+7 918 758-81-13


---------------------
+7 928 378-99-53


---------------------
+7 905 951-14-88


---------------------
+7 904 899-44-77


---------------------
+7 928 377-03-71
ИМ-РФ-ПТК-3
EmailField
---------------------
+7 919 739-76-46
ИМ38827
EmailField
---------------------
+7 928 340-53-09


---------------------
+7 918 803-73-17
ИМ39685
EmailField
---------------------
+7 905 499-94-44
ИМ-РФ-ПТК-1

---------------------
+7 903 440-48-80
ИМ-РФ-ПТК-4
EmailField
---------------------
+7 905 441-01-88
ИМ-РФ-ПТК-5
EmailField
---------------------
+7 991 112-03-13


---------------------
+7 928 344-99-44
ИМ39530
EmailField
---------------------
+7 879 339-21-22
ИМ-РФ-ПТК-7
EmailField
---------------------
+7 928 654-40-44
ИМ39256

---------------------
+7 918 784-83-24
ИМ-РФ-ПТК-9
EmailField
---------------------
+7 879 333-22-04
ИМ-РФ-ПТК-8
EmailField
---------------------

То есть данный скрипт устанавливает что у данных контактов есть эл.почта но не может их нормально отобразить.
Если использовать emails[0].getDisplayName() тогда выходит ошибка TypeError: Не удается вызвать метод "getDisplayName" объекта undefined. (строка 427, файл Код)
Ответить с цитированием