Я пытаюсь создать контакт, используя Javascript for Automation (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 = "mail@test.de"
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 })
завершается с ошибкой «Невозможно преобразовать типы».
IЯ в значительной степени озадачен тем, как это должно работать.Ни один из (очень немногих) примеров кода JXA, которые я смог найти, не помог в этом конкретном случае.Я предполагаю, что у меня есть какой-то фундаментальный аспект того, как этот API должен работать неправильно, но я просто не могу понять это, и небольшая доступная документация тоже не помогла.Кто-нибудь знает, как это должно работать?