Я пытаюсь создать контакт с помощью Javascript для автоматизации (JXA), но не могу понять, как добавить адрес электронной почты в контакт.
Это код для добавления контакта:
Contacts = Application('Contacts')
person = Contacts.Person().make()
person.firstName = "Tom"
person.lastName = "Tester"
Contacts.save()
Это работает, как ожидалось, т.е. е. он создает контакт с именем и фамилией.
Затем я попытался добавить этот код, чтобы добавить адрес электронной почты к контакту:
Contacts = Application('Contacts')
person = Contacts.Person().make()
person.firstName = "Tom"
person.lastName = "Tester"
email = Contacts.Email().make()
email.label = "Work"
email.value = "[email protected]"
Contacts.add({ email, to: person })
Contacts.save()
Строка email = Contacts.Email().make()
выдает ошибку «Не удается создать или переместить этот элемент в этот контейнер».
Я также пробовал email = Contacts.ContactInfo().make()
, та же ошибка. Затем я попробовал email = Contacts.Email()
, который работает, включая назначение двух свойств label
и value
после этого, но затем строка Contacts.add({ email, to: person })
завершается с ошибкой «Не удается преобразовать типы».
Я в значительной степени озадачен тем, как это должно работать. Ни один из (очень немногих) примеров кода JXA, которые я смог найти, не помог в данном конкретном случае. Я предполагаю, что у меня есть какой-то фундаментальный аспект того, как этот API должен работать неправильно, но я просто не могу понять это, и небольшая доступная документация также не помогла. Кто-нибудь знает, как это должно работать?