搜索自定义属性

时间:2015-05-26 00:09:34

标签: applescript

我正在使用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)

感谢您对此问题的任何帮助!

1 个答案:

答案 0 :(得分:3)

您找不到UID的原因是因为它不作为字段存在,即使在您的数据中也是如此。如果您查看您提供的代码段的底部,则会显示“END:VCARD”。如果你查看剪切文本,你应该看到“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值的卡片。