通过“应用脚本”进行设置后,Google联系人“生日”字段未显示

时间:2018-12-31 16:31:24

标签: javascript google-apps-script google-contacts

我在Apps脚本中设置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通讯录中查看新联系人时,默认的内置“生日”字段为空,没有其他“生日”字段。我在新联系人中设置的所有其他字段都在那里。有人看到我在做什么错吗,或者“联系生日”字段代码中有错误?

0 个答案:

没有答案