Gibt es in Contacts.app-Kontakten gespeicherte Metadaten, die gespeichert werden, wenn ein Kontakt erstellt oder zuletzt bearbeitet wurde?

Ich möchte meine Kontakte in der Reihenfolge der zuletzt hinzugefügten Kontakte anzeigen, um mich an einige Personen zu erinnern, deren Namen ich jetzt vergessen habe, die ich aber dieses Jahr treffe, wenn ich beschäftigt bin. Der hier bereitgestellte Standard Alle auswählen… Kopieren… Einfügen in Nummern hat keine Felder für das Datensatzerstellungsdatum und das Datensatzbearbeitungsdatum.

Sie fragen sich, ob ein Applescript oder ein anderes Tool auf macOS es ermöglichen würde, diese Daten zusammen mit Kontaktdaten zu erhalten?

Standardmäßig und nur als Beispiel speichert die Contacts.app ihre Daten in einer SQLite-Format-3-Datenbank namens zB "AddressBook-v22.abcddb", die sich unter "~/Library/Application Support/AddressBook/" befindet. Ich habe eine Kopie davon geöffnet, die nur mit der Erweiterung „.db“ umbenannt wurde. in Liya und es gibt Felder wie ZCREATIONDATEYEAR und ZCREATIONDATEYEARLESS in den ZABCDRECORD-Datensätzen, die untersucht werden können, um die gesuchten Informationen zu ermitteln. Ich würde mir vorstellen, dass eine SQL-Abfrage erstellt werden könnte, um die Informationen zu ordnen, die für das, was Sie suchen, am besten geeignet sind, aber ich wäre dort keine Hilfe.

Antworten (1)

Sie können AppleScript verwenden, um das Erstellungs- und Änderungsdatum jedes Kontakts in der Kontakte-App abzurufen. Hier ist ein Beispielskript, das mit der gesamten Kontaktdatei funktioniert. Am Ende haben Sie ein tabulatorgetrenntes Ergebnis namens "the_text", das Sie kopieren und in Numbers oder Excel oder was auch immer einfügen können.

set the_text to ""
--
tell application "Contacts"
    set the_contacts to every person
    repeat with a_contact in the_contacts
        tell a_contact
            set the_name to name
            set long_creation_date to creation date
            set creation_date to short date string of long_creation_date
            set long_modification_date to modification date
            set modification_date to short date string of long_modification_date
            set the_text to the_text & return & the_name & tab & creation_date & tab & modification_date
        end tell
    end repeat
end tell

return the_text

Das Erstellungsdatum eines Kontakts ist das vollständige Datum mit Uhrzeit. Ebenso das Änderungsdatum. Sie sehen so aus:

„Donnerstag, 6. Juli 2017 um 14:11:34 Uhr“

Indem wir nach der "kurzen Datumszeichenfolge" dieser Daten fragen, erhalten wir Daten, die wie folgt aussehen:

"6.7.17"

Dieses Format kann für Sie zum Sortieren nützlicher sein als das vollständige lange Datum mit Uhrzeit.