Получение контактов Outlook из общей папки

Пользователи Outlook могут делиться папками и предоставлять права на чтение, создание, изменение или удаление отдельных папок контактов. Outlook также позволяет клиенту делегировать другому пользователю действовать от имени клиента и получать доступ к определенным папкам или ко всему почтовому ящику клиента; это также называется делегированием в Outlook.

Что касается программного кода, Microsoft Graph поддерживает получение контактов из папок контактов, доступ к которым был предоставлен другими пользователями, а также получение самих общих папок. Поддержка также относится к папкам в делегированном почтовом ящике.

Допустим, Григорий поделился с Иваном пользовательской папкой контактов и предоставил ему доступ на чтение. Если Джон вошел в приложение и предоставил делегированные разрешения (Contacts.Read.Shared или Contacts.ReadWrite.Shared), приложение сможет получить доступ к пользовательской папке контактов Гарта и контактам в ней. Дополнительные сведения см. в следующих разделах.

Примечание.

Разрешения общего доступа (Contacts.Read.Shared или Contacts.ReadWrite.Shared) позволяют читать или записывать контакты в общей или делегированной папке. Они не поддерживают подписку на уведомления об изменениях элементов в таких папках. Чтобы настроить подписки на уведомления об изменениях контактов в общей, делегированной или любой другой папке контактов пользователя в клиенте, используйте разрешение приложения Contacts.Read.

Получение контакта из общей папки

Можно получить определенный контакт из пользовательской папки контактов, которой Григорий поделился с Иваном:

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts/{id}

В случае успешного выполнения вы получите отклик HTTP 200 OK и экземпляр объекта contact, указанный параметром {id}, из общей папки контактов Григория.

Получение всех контактов из общей папки

Получение всех контактов из общей папки контактов Григория:

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts

В случае успешного выполнения вы получите отклик HTTP 200 OK и коллекцию экземпляров объекта contact из общей папки контактов Григория.

Получение общей папки

Получение папки контактов, которой Григорий поделился с Иваном.

GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}

В случае успешного выполнения вы получите отклик HTTP 200 OK и экземпляр объекта contactFolder, представляющий общую папку контактов Григория.

Такие же возможности для запросов GET будут доступны, если Григорий делегирует Ивану весь свой почтовый ящик.

Если Гарт не предоставил доступ к папке контактов Джону и не делегировал джону свой почтовый ящик, при указании идентификатора пользователя или имени участника-пользователя Гарта в этих операциях GET будет возвращена ошибка.

Дальнейшие действия

Дополнительные сведения: