Получение контактов 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