У меня проблема с приложением 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 есть ошибка?