Получение контактов 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 будет возвращена ошибка.
Дальнейшие действия
Дополнительные сведения:
- Зачем выполнять интеграцию с личными контактами Outlook?
- API контактов в Microsoft Graph 1.0