Ссылка API REST контакты Outlook (версия 1.0)
Область применения: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Примечание
Не рекомендуется использовать версию 1.0 API REST Outlook. Начиная с 1 ноября 2018 г. приложения не смогут использовать обычную проверку подлинности с конечной точкой v1.0 REST. К 1 ноября 2019 г. конечная точка v1.0 REST будет полностью выведена из эксплуатации, а вскоре после этого будет удалена документация версии 1.0. Запустите миграцию программы, чтобы использовать API REST Outlook в версии 1.0 Microsoft Graph. Дополнительные сведения см. в нашем объявлении.
API контактов Outlook предоставляет доступ к контактам и папкам контактов, защищенным Azure Active Directory в Office 365, и к подобным данным в учетных записях Microsoft, конкретно в этих доменах: Hotmail.com, Live.com, MSN.com, Outlook.com, и Passport.com.
Примечание
Для упрощения справочной информации в остальной части этой статьи при упоминании «Outlook.com» также подразумеваются и эти домены учетной записи Microsoft.
Не интересуетесь API версии 1.0? В оглавлении слева, перейдите к разделу Ссылка API REST Office 365 и выберите нужную версию.
Операции API всех контактов
Контактные операции
Контакты хранятся в папках контактов. Вы можете получать, создавать, изменять и удалять контакты.
- Получение контактов
- Синхронизировать контакты и папки контактов
- Создать контакты
- Обновить контакты
- Удалить контакты
Операции в папке контактов
Папки контактов может содержать контакты и папки других контактов. Вы можете получить папки контактов и создать контакты в папке контактов.
Операции с фотографиями контактов
Каждый контакт может иметь дополнительную контактную картинку. Вы можете получить или установить фотографию для контакта.
См. также
Использование API REST для контактов
Проверка подлинности
Как и для других API REST Outlook, для каждого запроса к API Outlook необходимо включать допустимый маркер доступа. Получение маркера доступа требует, чтобы вы зарегистрировались и идентифицировали свою программу и получили соответствующее разрешение.
Вы можетеузнать больше о некоторых упрощенных параметрах регистрации и авторизации. Помните об этом, когда выполняете конкретные действия в API календаря.
Версия API
API REST календаря поддерживается во всех версиях API REST Outlook. Функциональность зависит от конкретной версии.
Целевой пользователь
Запросы API календаря всегда выполняются от имени текущего пользователя.
Дополнительные сведения, общие для всех подразделов API REST Outlook, см. в разделе Использование API REST Outlook.
Получение контактов
Вы можете получить контактную коллекцию или индивидуальный контакт из папки контактов.
- Получить коллекцию контактов
- |||UNTRANSLATED_CONTENT_START|||Get a contact|||UNTRANSLATED_CONTENT_END|||
Получить коллекцию контактов
Минимальная требуемая область
Одно из следующих:
Получение коллекции контактов из стандартной папки с контактами для пользователя, выполнившего вход (.../me/contacts
), или из указанной папки с контактами.
GET https://outlook.office.com/api/v1.0/me/contacts
GET https://outlook.office.com/api/v1.0/me/contactfolders/{contact_folder_id}/contacts
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_folder_id | строка | Идентификатор папки контактов, если вы получаете контакты из определенной папки. |
Примечание
По умолчанию каждый контакт в ответе включает все его свойства. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
В следующем примере показано, как использовать $select
для указания возврата в ответе только EmailAddresses, GivenName, а также свойства Surname контакта. См. Ответ образца в Получить контакт для полного списка свойств, которые будут возвращены для контакта, если вы не используете $select
.
Пример запроса
GET https://outlook.office.com/api/v1.0/me/contacts?$select=EmailAddresses,GivenName,Surname
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk3AAA=",
"GivenName": "Rob",
"Surname": "Young",
"EmailAddresses": [
{
"Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
"Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa6\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk2AAA=",
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Name": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa5\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk1AAA=",
"GivenName": "Katie",
"Surname": "Jordan",
"EmailAddresses": [
{
"Name": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"GivenName": "Garth",
"Surname": "Fort",
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"GivenName": "Janet",
"Surname": "Schorr",
"EmailAddresses": [
{
"Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
}
]
}
]
}
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk3AAA=",
"GivenName": "Rob",
"Surname": "Young",
"EmailAddresses": [
{
"Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
"Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa6\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk2AAA=",
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Name": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa5\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk1AAA=",
"GivenName": "Katie",
"Surname": "Jordan",
"EmailAddresses": [
{
"Name": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"GivenName": "Garth",
"Surname": "Fort",
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
]
},
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"GivenName": "Janet",
"Surname": "Schorr",
"EmailAddresses": [
{
"Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
}
]
}
]
}
Тип ответа
Запрошенная коллекция контактов.
Получение контакта.
Минимальная требуемая область
Одно из следующих:
Получите контакт, используя идентификатор контакта.
GET https://outlook.office.com/api/{version}/me/contacts/{contact_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
версия | строка | версия API. |
contact_id | строка | Идентификатор контакта. |
Пример запроса
GET https://outlook.office.com/api/v1.0/me/contacts/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHk0AAA=",
"DateTimeCreated": "2014-10-19T23:08:24Z",
"DateTimeLastModified": "2014-10-19T23:08:24Z",
"ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4",
"Categories": [],
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"Birthday": null,
"FileAs": "Fort, Garth",
"DisplayName": "Garth Fort",
"GivenName": "Garth",
"Initials": null,
"MiddleName": null,
"NickName": null,
"Surname": "Fort",
"Title": null,
"YomiGivenName": null,
"YomiSurname": null,
"YomiCompanyName": null,
"Generation": null,
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
],
"ImAddresses": [
"sip:garthf@a830edad9050849nda1.onmicrosoft.com"
],
"JobTitle": "Web Marketing Manager",
"CompanyName": null,
"Department": "Sales & Marketing",
"OfficeLocation": "20/1101",
"Profession": null,
"BusinessHomePage": null,
"AssistantName": null,
"Manager": null,
"HomePhones": [],
"MobilePhone1": null,
"BusinessPhones": [
"+1 918 555 0101"
],
"HomeAddress": {},
"BusinessAddress": {},
"OtherAddress": {},
"SpouseName": null,
"PersonalNotes": null,
"Children": []
}
Тип ответа
Запрошенный контакт.
Примечание
По умолчанию ответ включает все свойства контакта. Используйте $select
, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
В следующем примере показано, как использовать $select
для указания возврата в ответе только EmailAddresses, GivenName, а также свойства Surname контакта.
Пример запроса
GET https://outlook.office.com/api/v1.0/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
"Id": "AAMkAGI2THk0AAA=",
"GivenName": "Garth",
"Surname": "Fort",
"EmailAddresses": [
{
"Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
]
}
Синхронизировать контакты и папки контактов
Вы можете синхронизировать свой локальный список контактов с контактами на сервере. Синхронизация контактов - операция для каждой папки, например, вы можете синхронизировать все контакты в папке с корневыми контактами. Если у вас есть дополнительные папки контактов, вам необходимо синхронизировать каждую папку по отдельности.
Синхронизация поддерживает только полную синхронизацию; все контакты в указанной папке возвращаются с каждым запросом.
Синхронизация папки контактов обычно требует двух или более запросов GET. Вы делаете запрос GET так же, как и вы получаете контакты, за исключением того, что вы добавляете следующие заголовки запросов.
Вы должны указать заголовок Prefer: odata.track-changes во всех ваших запросах синхронизации.
Вы можете указать заголовок Prefer: odata.maxpages = {n}, чтобы установить максимальное количество контактов, возвращаемых в каждом запросе.
Второй и последующие запросы GET отличаются от первого запроса GET, включая либо deltaToken или skipToken полученных в предыдущем ответе.
Первоначальный ответ на запрос синхронизации всегда возвращает deltaToken. Вы всегда должны сделать второй запрос GET, используя deltaToken для определения наличия каких-либо дополнительных контактов. Второй запрос будет возвращать дополнительные контакты и либо skipToken, если доступно больше контактов, или deltaToken, если последний контакт был отправлен.
Минимальная требуемая область
Одно из следующих:
GET https://outlook.office.com/api/v1.0/me/Contacts
GET https://outlook.office.com/api/v1.0/me/ContactFolders/{folderName}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры заголовка | ||
Предпочтение | odata.track-changes | Указывает, что запрос является запросом синхронизации. |
Предпочтение | odata.maxpagesize | Устанавливает количество контактов, возвращаемых в каждом ответе. |
Параметр URL-адреса | ||
folderName | строка | Имя папки для синхронизации. |
odata.deltaLink | Строка | Маркер, который указывает последний раз, когда была синхронизирована папка. |
odata.skiptoken | Строка | Маркер, который указывает, что есть больше сообщений для загрузки. |
Тип ответа
Коллекция, содержащая запрошенные контакты и deltaToken, которые вы используете для запроса дополнительных страниц контактных данных с сервера и для запроса инкрементной синхронизации. Если число возвращаемых контактов больше, чем значение, указанное в заголовке odata.maxpagesize, ответ будет возвращен на нескольких страницах.
Ответ будет включать заголовок Preference-Applied: odata-trackchanges. Если вы попытаетесь синхронизировать ресурс, который не поддерживается, этот заголовок не будет возвращен в ответе. Проверьте этот заголовок перед обработкой ответа, чтобы избежать ошибок.
Примечание
По умолчанию ответ включает все свойства указанных контактов. Используйте $select
чтобы указать только те свойства, которые вам нужны для максимальной производительности. Свойство идентификатора всегда возвращается. Не используйте $filter, $ orderby, $search или $top, поскольку они не поддерживаются для синхронизации контактов или папок контакта. См.Параметры запроса OData для получения дополнительной информации.
Примеры
Первоначальный запрос на полную синхронизацию:
GET https://outlook.office.com/api/v1.0/Me/Contacts
Включить следующие заголовки:
- Предпочтение: odata.track-changes
- Предпочтение: odata.maxpagesize=100
Второй запрос на сервер после запроса на полную синхронизацию:
https://outlook.office.com/api/v1.0/Me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836
Включить следующие заголовки:
- Предпочтение: odata.track-changes
- Предпочтение: odata.maxpagesize=100
Второй ответ с сервера с дополнительными доступными страницами:
Заголовок
Примененное-предпочтение: odata.track-changes
Текст
@odata.deltaLink=https://outlook.office.com/api/v1.0/me/Contacts/messages/?%24skiptoken=169ca50467d34d9fb8adb664961b9836
Сообщения о полезных данных
Второй или последующий ответ от сервера, когда все контакты были отправлены:
Заголовок
Примененное-предпочтение: odata.track-changes
Текст
@odata.deltaLink=https://outlook.office.com/api/v1.0/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836
Сообщения о полезных данных
Запрос на сервер при наличии дополнительных страниц:
https://outlook.office.com/api/v1.0/Me/Contacts/?%24skiptoken=169ca50467d34d9fb8adb664961b9836
Включить следующие заголовки:
- Предпочтение: odata.track-changes
- Предпочтение: odata.maxpagesize=100
Создать контакты
Создайте контакт в указанной папке «Контакты».
Создание контакта.
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
Добавление контакта в корневую папку с контактами или конечную точку contacts
другой папки с контактами.
POST https://outlook.office.com/api/v1.0/me/contacts
POST https://outlook.office.com/api/v1.0/me/contactfolders/{contact_folder_id}/contacts
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_folder_id | строка | Идентификатор папки контактов, если вы создаете контакт в определенной папке контакта. |
Параметры тела | ||
GivenName | строка | Собственное имя контакта. |
Укажите параметр Собственное имя и любое доступное для записи свойствоконтакта в теле запроса.
Пример запроса
POST https://outlook.office.com/api/v1.0/me/contacts
Content-Type: application/json
{
"GivenName": "Pavel",
"Surname": "Bansky",
"EmailAddresses": [
{
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
}
],
"BusinessPhones": [
"+1 732 555 0102"
]
}
Пример отклика
Код состояния: 201
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"@odata.etag": "W/\"EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC\"",
"Id": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MABGAAAAAAC_0WfqSjt_SqLtNkuO-bj1BwAmP1Ln1wcHRariNdTMGAO9AAAAAAEOAAAmP1Ln1wcHRariNdTMGAO9AAAV4xqVAAA=",
"ChangeKey": "EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC",
"Categories": [],
"DateTimeCreated": "2014-10-22T20:38:18Z",
"DateTimeLastModified": "2014-10-22T20:38:19Z",
"ParentFolderId": "AAMkAGE0MGM1Y2M5LWEzMmUtNGVlNy05MjRlLTk0YmJjYzVkN2I5MAAuAAAAAAC_0WfqSjt_SqLtNkuO-bj1AQAmP1Ln1wcHRariNdTMGAO9AAAAAAEOAAA=",
"Birthday": null,
"FileAs": "",
"DisplayName": "Pavel Bansky",
"GivenName": "Pavel",
"Initials": null,
"MiddleName": null,
"NickName": null,
"Surname": "Bansky",
"Title": null,
"Generation": null,
"EmailAddresses": [
{
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
},
null,
null
],
"ImAddresses": [
null,
null,
null
],
"JobTitle": null,
"CompanyName": null,
"Department": null,
"OfficeLocation": null,
"Profession": null,
"BusinessHomePage": null,
"AssistantName": null,
"Manager": null,
"HomePhones": [
null,
null
],
"BusinessPhones": [
"+1 732 555 0102",
null
],
"MobilePhone1": null,
"HomeAddress": {
"Street": null,
"City": null,
"State": null,
"CountryOrRegion": null,
"PostalCode": null
},
"BusinessAddress": {
"Street": null,
"City": null,
"State": null,
"CountryOrRegion": null,
"PostalCode": null
},
"OtherAddress": {
"Street": null,
"City": null,
"State": null,
"CountryOrRegion": null,
"PostalCode": null
},
"YomiSurname": null,
"YomiGivenName": null,
"YomiCompanyName": null
}
Тип ответа
Новый контакт.
Обновить контакты
Измените свойства контакта.
Обновить контакт
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
Укажите любое доступное для записи свойствоконтакта в теле запроса. Изменены только те свойства, которые вы указали.
PATCH https://outlook.office.com/api/v1.0/me/contacts/{contact_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_id | строка | Идентификатор контакта. |
Пример запроса
PATCH https://outlook.office.com/api/v1.0/me/contacts/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=
Content-Type: application/json
{
"HomeAddress": {
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"PostalCode": "98121"
},
"Birthday": "1974-07-22"
}
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/Contacts/$entity",
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQBGAAAAAADUuTJK1K9aTpCdqXop_4NaBwCd9nJ-tVysQos2hTfspaWRAAAAAAEOAACd9nJ-tVysQos2hTfspaWRAAADTHkzAAA=",
"ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3",
"Categories": [],
"DateTimeCreated": "2014-10-19T23:08:18Z",
"DateTimeLastModified": "2014-10-19T23:08:18Z",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"Birthday": "1974-07-22T00:00:00Z",
"FileAs": "Schorr, Janet",
"DisplayName": "Janet Schorr",
"GivenName": "Janet",
"Initials": null,
"MiddleName": null,
"NickName": null,
"Surname": "Schorr",
"Title": null,
"Generation": null,
"EmailAddresses": [
{
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "janets@a830edad9050849NDA1.onmicrosoft.com"
},
null,
null
],
"ImAddresses": [
"sip:janets@a830edad9050849nda1.onmicrosoft.com",
null,
null
],
"JobTitle": "Product Marketing Manager",
"CompanyName": null,
"Department": "Sales & Marketing",
"OfficeLocation": "18/2111",
"Profession": null,
"BusinessHomePage": null,
"AssistantName": null,
"Manager": null,
"HomePhones": [
null,
null
],
"BusinessPhones": [
"+1 425 555 0109",
null
],
"MobilePhone1": null,
"HomeAddress": {
"Street": "Some street",
"City": "Seattle",
"State": "WA",
"CountryOrRegion": null,
"PostalCode": "98121"
},
"BusinessAddress": {
"Street": null,
"City": null,
"State": null,
"CountryOrRegion": null,
"PostalCode": null
},
"OtherAddress": {
"Street": null,
"City": null,
"State": null,
"CountryOrRegion": null,
"PostalCode": null
},
"YomiSurname": null,
"YomiGivenName": null,
"YomiCompanyName": null
}
Тип ответа
Обновленный контакт.
Удалить контакты
Удаление контакта. Удаленный контент не может быть восстановлен.
Для получения дополнительных сведений см. Удаление элементов с помощью EWS в Exchange.
Удалить контакт
Минимальная требуемая область
Одно из следующих:
- https://outlook.office.com/contacts.readwrite
- wl.contacts_create
DELETE https://outlook.office.com/api/v1.0/me/contacts/{contact_id}
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_id | строка | Идентификатор контакта. |
Пример запроса
DELETE https://outlook.office.com/api/v1.0/me/contacts/AAMkAGE0Myy2hAAA=
Пример отклика
Status code: 204
Получить папки контактов
Вы можете получить коллекцию папок контактов или получить папку контактов.
Получить коллекцию контактов
Минимальная требуемая область
Одно из следующих:
Получите коллекцию папок контактов в папке «Контакты по умолчанию» для зарегистрированного пользователя (.../me/contactfolders
) или в указанной папке контакта.
GET https://outlook.office.com/api/v1.0/me/contactfolders
GET https://outlook.office.com/api/v1.0/me/contactfolders/{contact_folder_id}/childfolders
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_folder_id | строка | Идентификатор папки контактов, если вы получаете папки контактов из определенной папки контактов. |
Пример запроса
GET https://outlook.office.com/api/v1.0/me/contactfolders
Пример отклика
Код состояния: 200
{
"@odata.context": "https://outlook.office.com/api/v1.0/$metadata#Me/ContactFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"DisplayName": "Finance"
}
]
}
Тип ответа
Запрошенная коллекция контактов.
Получить коллекцию контактов
Минимальная требуемая область
Одно из следующих:
Получение папки контактов с помощью ее идентификатора.
GET https://outlook.office.com/api/v1.0/me/contactfolders/{contact_folder_id}
Примечание
См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.
Обязательный параметр | Тип | Описание |
---|---|---|
Параметры URL-адреса | ||
contact_folder_id | строка | Идентификатор папки контактов. |
Пример запроса
GET https://outlook.office.com/api/v1.0/me/contactfolders/AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=
Пример отклика
Код состояния: 200
{
"@odata.id": "https://outlook.office.com/api/v1.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"Id": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAADTKI5AAA=",
"ParentFolderId": "AAMkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAuAAAAAADUuTJK1K9aTpCdqXop_4NaAQCd9nJ-tVysQos2hTfspaWRAAAAAAEOAAA=",
"DisplayName": "Finance"
}
Тип ответа
Запрошенная коллекция контактов.
Получить контактную фотографию и метаданные
Эта функция доступна в версиях v2.0 и beta. Чтобы узнать больше, в оглавлении слева, перейдите в раздел Ссылка на Office 365 REST API и выберите одну из этих версий.
Установить контактную фотографию
Эта функция доступна в версиях v2.0 и beta. Чтобы узнать больше, в оглавлении слева, перейдите в раздел Ссылка на Office 365 REST API и выберите одну из этих версий.
Дальнейшие действия
Независимо от того, готовы ли вы приступить к созданию приложения или хотите изучить больше материалов, у нас есть все необходимое.
- Начало работы с API REST Почта, Календарь и Контакты.
- Хотите увидеть примеры? Вот они.
Или узнайте больше об использовании платформы Office 365 здесь:
- API REST Outlook для центра разработок Outlook
- Обзор разработки на платформе Office 365
- Проверка подлинности приложений и авторизация ресурсов в Office 365
- Зарегистрируйте своё приложение в Azure AD вручную, чтобы оно могло получить доступ к API Office 365
- Справка по API Почты
- Справка по API календаря
- API REST Задание
- API OneDrive
- Справка по операциям API REST службы обнаружения
- Справочник ресурсов по API REST Почта, Календарь, Контакты и Задача