Поделиться через


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

Пространство имен: 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"
    }
  ]
}