Список контактов

Пространство имен: microsoft.graph

Получение коллекции контактов из папки контактов по умолчанию для выполнившего вход пользователя.

Существует два сценария, с помощью которых приложение может получить контакты из папки контактов другого пользователя:

  • У приложения есть разрешения для приложений; или
  • У приложения есть соответствующие делегированные разрешения от одного пользователя, а другой пользователь поделился с ним папкой контактов или предоставил ему делегированный доступ. См. подробные сведения и пример.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet
✅ ✅ ✅ ✅

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Contacts.Read Contacts.ReadWrite
Делегированные (личная учетная запись Майкрософт) Contacts.Read Contacts.ReadWrite
Для приложений Contacts.Read Contacts.ReadWrite

HTTP-запрос

Чтобы получить все контакты в папке "Контакты" пользователя по умолчанию:

GET /me/contacts
GET /users/{id | userPrincipalName}/contacts

Для получения контактов, которые хранятся в определенной папке в почтовом ящике пользователя:

GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts

GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts

Необязательные параметры запросов

С помощью параметра запроса $filter можно фильтровать контакты на основе адресов электронной почты:

GET https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')

Оператор , anyи eq можно использовать $filterтолько для подсвойства address экземпляров в коллекции emailAddresses. То есть нельзя выполнять фильтрацию по имени или любому другому подсоздачею экземпляра emailAddresses, а также нельзя применять любой другой оператор или функцию с filter, например ne, leи startswith().

Общие сведения о параметре запроса $filter см. в статье Параметры запроса OData.

Заголовки запросов

Заголовок Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

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

Пример

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/v1.0/me/contacts

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "parentFolderId": "parentFolderId-value",
      "birthday": "datetime-value",
      "fileAs": "fileAs-value",
      "displayName": "displayName-value",
      "givenName": "givenName-value",
      "initials": "initials-value"
    }
  ]
}