Skip to content

Contact management: create, read, update, and delete personal contacts.

Permissions

Requires delegated permission Contacts.ReadWrite.

View source

from office365.graph_client import GraphClient
from tests.settings import client_id, password, tenant, username


def main():
    client = GraphClient(tenant=tenant).with_username_and_password(client_id, username, password)

    folder = client.me.contact_folders.ensure("SDK Demo Contacts").execute_query()
    contact = folder.contacts.add(
        given_name="Maria",
        surname="Andersen",
        email_address="mariaa@contoso.onmicrosoft.com",
        business_phone="+1 555 123 4567",
    ).execute_query()
    print(f"Created: {contact.display_name}  {contact.primary_email_address}")

    contact.mobile_phone = "+1 555 987 6543"
    contact.job_title = "Senior Engineer"
    contact.update().execute_query()
    print("Updated: mobile & job title")

    contacts = folder.contacts.get().execute_query()
    print(f"\nContacts ({len(contacts)}):")
    for c in contacts:
        print(f"  {c.display_name}  {c.primary_email_address}")

    contact.delete_object().execute_query()
    print(f"Deleted: {contact.display_name}")


if __name__ == "__main__":
    main()

← Back to Contacts