搜索自定义 属性

Search a custom property

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

感谢您对此问题的帮助!

您找不到 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 值的名片上进行搜索。