2015-05-26 2 views
1

Я использую AppleScript для поиска через кучу моих контактов со специальным (настраиваемым) свойством.Поиск нестандартного свойства

Вот мой код:

tell application "Address Book" 
    set allPeople to every person whose last name = "CERTAIN_LAST_NAME" 
    get properties of item 1 of allPeople 
end tell 

Конкретная фамилия просто человек, которого я знал, что конкретное свойство.

А (обрезается) Выход:

CATEGORIES:Contacts 
UID:{MY_EMAIL_ADDRESS}:426 
X-ABUID:SOME_ID_TAG:ABPerson 
END:VCARD 

Я хочу, чтобы найти всех, кто содержит свойство UID со значением {MY_EMAIL_ADDRESS}:some_number. Я очень новичок в OS X и AppleScript, поэтому я не совсем уверен, что делать. Я искал способ, чтобы фильтровать контакты на основе пользовательского свойства, с:

tell application "Address Book" 
    set allPeople to every person whose UID = "{MY_EMAIL_ADDRESS}:426" 
    get properties of item 1 of allPeople 
end tell 

Но это дало мне эту ошибку:

my_script.scpt:69:72: execution error: The variable UID is not defined. (-2753) 

Я признателен за любую помощь с этим вопросом!

+0

'UID' - это не команда, которую' 'Book Book' понимает, и поэтому AppleScript рассматривает его как переменную и генерирует эту ошибку, поскольку не определена переменная с этим именем. Может быть, работает «id». –

+0

Так как я могу искать на основе поиска на этом свойстве 'UID', хотя? –

+0

@Zero Это было связано с контактом Yahoo, который был импортирован из Facebook, так что может быть где –

ответ

2

Причина, по которой вы не можете найти UID, заключается в том, что она не существует как поле даже в ваших данных. Если вы посмотрите внизу фрагмента, который вы предоставили, он говорит «END: VCARD». Если вы посмотрите через отрезала текст, вы должны увидеть «визитку:" BEGIN: VCARD»

поле, которое содержит этот текст vcard, и вы можете искать, что

tell application "Address Book" 
    set allPeople to every person whose vcard contains "UID:{YOUR_EMAIL_ADDRESS}:426" 
    get properties of item 1 of allPeople 
end tell 

Я надеваю.. Конечно, у меня есть ваши ценности, но я смог выполнить поиск на карточках, содержащих известные значения UID в моих собственных контактах.

Смежные вопросы