Как я могу автоматически изменять пользовательские метки Contacts.app с помощью AppleScript?

Есть ли способ изменить текущие ярлыки в Contacts.app на пользовательские с помощью AppleScript на основе определенных критериев?

Вот что я имею в виду:

Мне нужен сценарий для просмотра моих контактов, чтобы изменить метки телефонных номеров по умолчанию, такие как мобильный, домашний, рабочий и т. д., на определенные метки, основанные на первых трех цифрах номера телефона. Если метка уже была изменена или критерии не применяются, то сценарий должен пропустить этот номер телефона.

Вот пример:

  • Если номер телефона начинается с 079, то меняем метку на "zain"
  • Если номер телефона начинается с 078, то меняем метку на "umniah"

Это вообще возможно?

Ответы (1)

Вот пример (быстрая писанина) того, как получить и обработать метки.

tell application "Contacts"
    set theNumber to "079"

    set (label of phones of people whose value starts with theNumber) to "test"
    save


end tell

Установите theNumber на свой собственный номер.

И Я СДЕЛАЛ РЕЗЕРВНУЮ КОПИЮ АДРЕСНОЙ КНИГИ, ПРЕЖДЕ ЧЕМ ВЫ НАЧНЕТЕ С НЕЙ ИГРАТЬ.

Обновлять.

Я изменил сценарий на chaco, если номер телефона начинается с, а не содержит.


'label' = метка товара. т.е. «мобильный», «iphone», «домашняя страница»

Телефоны = номера телефонов записи человека/контакта

люди = множественное число для более чем одного человека/контакта.

значение = значение элемента в записи человека/контакта - в данном случае номер телефона

В команде set сначала запускается код в квадратных скобках ( ).

Это означает, что ссылка на метку номера телефона во всей адресной книге, которая начинается с theNumber, собирается в список.

Затем окружающий код указывает каждой ссылке измениться на test.

Благодарю за ваш ответ. Просто для уточнения: 1) В чем разница между 9 и 0? Являются ли они заполнителями? 2) Под "ярлыком телефонов людей, значение которых содержит номер", вы имеете в виду старый ярлык типа "мобильный"? Еще раз спасибо.
Сценарий в основном говорит. Измените «метки» телефонных номеров ваших контактов, которые содержат номер, на «тест». Это означает, что при запуске, если какой-либо номер телефона человека (людей) соответствует требованиям, метка совпадающих номеров будет изменена. Выполнение этого таким образом экономит повторение каждого числа, человека и ярлыка. Особенно если их больше одного номера на контакт. Текст «079999 0099999» — это просто номер, которого, как я знаю, нет в моей адресной книге, кроме двух, которые я использовал для тестирования. Я не хотел, чтобы все мои реальные цифры изменились.
Я обновил ответ, чтобы скрипт искал номера телефонов, начинающиеся с ...