0 votos

Applescript para buscar y añadir contactos específicos a un grupo

Traté de reajustar el applescript de estos dos respuestas pero no hay nada que hacer. Parece que funciona si se crean contactos al mismo tiempo, pero no cuando se buscan contactos existentes.

tell application "Contacts"
    set thePersons to {"john@email.com"} as list
    set theGroup to group "MyGroup"
    repeat with thePerson in thePersons
        delay 0.1
        set theContact to (first person whose value of last email contains thePerson)
        add theContact to theGroup
    end repeat
end tell

Lo anterior se ejecuta sin error, pero no pasa nada, no se añade a nadie. No sé exactamente qué estoy haciendo mal.

El objetivo es producir un applescript en el que pueda proporcionar una lista de correos electrónicos y que los encuentre/añada a un grupo específico.

1voto

qarma Puntos 71

Esta es una manera de conseguir la sintaxis correcta para esta tarea:

to addContactsByEmail:(e_mails as list) toNamedGroup:(group_name as text)
        local e_mails, group_name
        tell application id "com.apple.AddressBook"
                set target_group to the group named group_name
                repeat with e_mail in the e_mails
                        tell (the first person whose e_mail is in the ¬
                               value of its emails) to if exists then ¬
                               add it to the target_group
                end repeat
                save
        end tell
end addContactsByEmail:toNamedGroup:

También lo he envuelto en un manejador para ser llamado como un bloque de código reutilizable, por ejemplo

my addContactsByEmail:{"foo@bar.com", "people@desks.com"} toNamedGroup:"Imaginary Friends"

Es posible que desee añadir algún tipo de gestión de errores para cubrir las situaciones en las que el grupo especificado no existe. Actualmente, lanzará un error (como lo haría el suyo), pero podría elegir que el manejador existiera con gracia si el grupo no existe; o crear el grupo automáticamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X