Поле "День рождения" в контакте Google не отображается, если установлено в скрипте приложения - PullRequest
0 голосов
/ 31 декабря 2018

У меня проблема с приложением Script, устанавливающим поле «День рождения» в контакте Google.У меня есть форма с полем «Дата рождения пользователя», и мой код вызывается на FormSubmit из получающей электронной таблицы.Это выглядит так:

  // h/t @tehhowch for this mapping solution
  var months = ContactsApp.Month;
  var monthToEnum = {
    1: months.JANUARY,
    2: months.FEBRUARY,
    3: months.MARCH,
    ...,
    12: months.DECEMBER
  };

  // get the date from the event parameter e
  var d = new Date(e.namedValues["User's Date of Birth"]);
  var birthdayMonth = d.getMonth()+1;  // getMonth() returns offset 0
  var birthdayDay   = d.getDate();
  var birthdayYear  = d.getFullYear();
  var monthEnum     = monthToEnum[birthdayMonth];

  Logger.log("Birthday: " + birthdayMonth + "/" + birthdayDay 
           + "/" + birthdayYear + " and " + monthEnum);

  contact.addDate(ContactsApp.Field.BIRTHDAY, monthEnum, 
                  birthdayDay, birthdayYear);

  Logger.log("formSubmittedSheetNewPatient: contact Birthday = "
           + contact.getDates(ContactsApp.Field.BIRTHDAY)[0].getMonth());

Первый журнал правильно показывает «Birthday: 2/21/1912 and FEBRUARY», а второй - «contact Birthday = FEBRUARY», поэтому код работает.Затем я добавляю новый контакт в существующую группу.Но когда я смотрю на новый контакт в Контактах Google, встроенное поле «День рождения» по умолчанию пустое, и другого поля «День рождения» больше нет.Все остальные поля, которые я устанавливаю в новом контакте, есть.Кто-нибудь видит, что я делаю неправильно, или в коде поля Contact Birthday есть ошибка?

...