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


Ссылка API REST контакты Outlook (версия 2.0)

Область применения: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

API Почты Outlook позволяет читать, создавать и отправлять сообщения и вложения, просматривать и отвечать на сообщения о событиях, а также управлять папками, защищенными Azure Active Directory в Office 365. Он также обеспечивает такую ​​же функциональность в учетных записях Майкрософт непосредственно в этих доменах: Hotmail.com, Live.com, MSN.com, Outlook.com и Passport.com.

Примечание

Для упрощения в остальной части этой статьи при упоминании «Outlook.com» также подразумеваются и эти домены учетной записи Майкрософт.

Не интересуетесь API версии 2.0? В оглавлении слева, перейдите к разделу Ссылка API REST Office 365 и выберите нужную версию.

Все операции API Почты

Операции сообщений

Сообщения хранятся в папках почтовых ящиков, поэтому конечные точки сообщения часто включают папку, содержащую сообщение. Название папки определяется идентификатором или хорошо известным именем папки, например Inbox, Drafts, SentItems или DeletedItems.

Операции с папками

Папки почтового ящика могут содержать сообщения и другие папки. Вы можете получать, создавать, изменять, удалять папки и управлять ими. Вы можете использовать следующие хорошо известные имена папок вместо ИД, чтобы указать соответствующую папку: Inbox, SentItems, Drafts или DeletedItems.

См. также

Использовать REST API Почты

Проверка подлинности

Как и для других REST API Outlook, для каждого запроса к API Outlook необходимо включать допустимый маркер доступа. Получение маркера доступа требует, чтобы вы зарегистрировались и идентифицировали свое приложение и получили соответствующую авторизацию.

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

Версия API

REST API Почты поддерживается во всех версиях REST API Outlook. Функциональность может отличаться в зависимости от конкретной версии.

Целевой пользователь

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

Дополнительные сведения, общие для всех подразделов REST API Outlook, см. в разделе Использование REST API Outlook.

Получить сообщения

Вы можете получить коллекцию сообщений или отдельное сообщение из папки почтового ящика.

Каждое сообщение в ответе содержит несколько свойств, включая свойство Body. Текст сообщения может быть в текстовом или HTML-формате. Если текст представлен в формате HTML, то по умолчанию любой потенциально опасный код HTML (например, JavaScript), встроенный в свойство Body будет удален до того, как содержимое будет возвращено в ответе REST.

Чтобы получить все исходное HTML-содержимое, включите следующий заголовок HTTP-запроса:

Prefer: outlook.allow-unsafe-html

Чтобы указать желаемый формат, который будет возвращен в свойства Body и UniqueBody в запросе GET, используйте заголовок Prefer: outlook.body-content-type:

  • Укажите Prefer: outlook.body-content-type="text", чтобы вернуть текст сообщения в текстовый формат.
  • Укажите Prefer: outlook.body-content-type="html" или просто пропустите заголовок, чтобы вернуть текст сообщения в HTML-формат.

При указании любого заголовка ответ будет содержать соответствующий заголовок Preference-Applied в качестве подтверждения:

  • Для запросов в текстовом формате: Preference-Applied: outlook.body-content-type="text"
  • Для запросов в формате HTML: Preference-Applied: outlook.body-content-type="html"

Получить коллекцию сообщений

Минимальная требуемая область

Одно из следующих:

Примечание

Поведение операций в этом разделе зависит от версии. Узнайте больше, выбрав нужную версию в разделе Справка по Office 365 REST API в содержании в левой части.

Получите коллекцию сообщений со всего почтового ящика вошедшего пользователя (включая папки «Удаленные» и «Несрочные»).

GET https://outlook.office.com/api/v2.0/me/messages

Вы также можете указать папку в почтовом ящике пользователя и получить коллекцию сообщений из этой папки.

GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор папки или хорошо известное имя папкиInbox, Drafts, SentItems или DeletedItems, если вы получаете сообщения из определенной папки. Указание AllItems вернет все сообщения из всего почтового ящика

Примечание

По умолчанию каждое сообщение в ответе включает все его свойства. Используйте $select, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

В следующем примере показано, как использовать $select для указания возврата только свойствОтправитель и Тема каждого сообщения в ответе. См. пример отклика в Получить сообщение для полного списка свойств, которые будут возвращены для сообщения, если вы не используете $select.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/MailFolders/sentitems/messages/?$select=Sender,Subject

Пример отклика

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
            "Id": "AAMkAGI2TIzAAAA=",
            "Subject": "Meeting Notes",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
            "Id": "AAMkAGI2TIy-AAA=",
            "Subject": "Contract Signing",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.type": "#Microsoft.OutlookServices.EventMessage",
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
            "@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
            "Id": "AAMkAGI2TIy9AAA=",
            "Subject": "Rob:Alex 1:1",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Тип ответа

Запрошенная коллекция сообщений.

Получение сообщения.

Минимальная требуемая область

Одно из следующих:

Получите сообщение по ИД.

GET https://outlook.office.com/api/v2.0/me/messages/{message_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идетнтификатор сообщения.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=

Пример отклика

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
    "Id": "AAMkAGI2THVSAAA=",
    "CreatedDateTime": "2014-10-20T00:41:57Z",
    "LastModifiedDateTime": "2014-10-20T00:41:57Z",
    "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
    "Categories": [],
    "ReceivedDateTime": "2014-10-20T00:41:57Z",
    "SentDateTime": "2014-10-20T00:41:53Z",
    "HasAttachments": true,
    "Subject": "Re: Meeting Notes",
    "Body": {
        "ContentType": "Text",
        "Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
    },
    "BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
    "Importance": "Normal",
    "ParentFolderId": "AAMkAGI2AAEMAAA=",
    "Sender": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Alex D",
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "ConversationId": "AAQkAGI2yEto=",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": false,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}

Тип ответа

Запрошенное сообщение.

Примечание

По умолчанию отклик включает все свойства указанного сообщения. Используйте $select, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

В следующем примере показано, как использовать $select для указания возврата только свойствОтправитель и Тема каждого сообщения в отклике.

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject

Синхронизировать сообщения

Минимальная требуемая область

Одно из следующих:

Вы можете синхронизировать локальное хранение данных с сообщениями на сервере. Синхронизация сообщений - это операция с каждой папкой, например, вы можете синхронизировать все сообщения в папке «Входящие». Чтобы синхронизировать сообщения в иерархии папок, вам необходимо синхронизировать каждую папку по отдельности.

API поддерживает как полную синхронизацию, которая извлекает все сообщения в папке, так и добавочную синхронизацию, которая извлекает все сообщения, измененные с момента последней полной синхронизации.

Синхронизация папки почты обычно требует двух или более запросов GET. Вы делаете запрос GET так же, как вы получаете сообщения, за исключением того, что вы включаете определенные заголовки запросов и deltaToken или skipToken, когда это необходимо.

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

  • Необходимо указать заголовок Prefer: odata.track-changes во всех запросах синхронизации, за исключением тех, которые включают skipToken при возврате от предыдущего запроса синхронизации. Прежде чем продолжить, найдите в первом ответе заголовок Preference-Applied: odata.track-changes для подтверждения того, что ресурс поддерживает синхронизацию.

  • Вы можете указать заголовок Prefer: odata.maxpagesize={x}, чтобы установить максимальное количество сообщений, возвращаемых в запросе.

Вот типичный цикл синхронизации:

  1. Выполните начальный запрос GET с обязательным заголовком Prefer: odata.track-changes. Начальный ответ на запрос синхронизации всегда возвращает deltaToken. (Второй и последующие запросы GET отличаются от начального запроса GET, так как включают deltaToken или skipToken, полученные в предыдущем отклике.)

  2. Если первый ответ возвращает заголовок Preference-Applied: odata.track-changes, можно продолжить синхронизацию.

  3. Выполните второй запрос GET. Укажите заголовок Prefer: odata.track-changes и deltaToken, возвращенный из первого запроса GET, чтобы определить, имеются ли дополнительные сообщения. Второй запрос будет возвращать дополнительные сообщения, и либо skipToken, если доступно больше сообщений, либо deltaToken, если последнее сообщение было синхронизировано. Во втором случае цикл синхронизации завершен, и вы можете остановиться.

  4. Продолжите синхронизацию, отправив вызов GET и указав skipToken, возвращенный от предыдущего вызова. Прекратите действия, когда получите окончательный ответ, содержащий заголовок @odata.deltaLink с deltaToken, что указывает на завершение синхронизации.

Загрузите последний дельта-маркер, полученный в полном цикле синхронизации. Используйте его, чтобы начать повторный цикл синхронизации.

Это повторный цикл синхронизации:

  1. Сделайте первоначальный запрос GET с обязательным заголовком Prefer: odata.track-changes и кэшированным deltaToken, полученным в последнем ответе полного цикла синхронизации.

  2. Второй и последующие шаги следуют шаблону, используемому для полной синхронизации.

Синхронизация сообщений в определенной папке

Исходный запрос

GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages

Второй запрос или первый запрос последующего цикла

GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}

Третий или последующий запрос в том же цикле

Продолжайте отправлять следующий запрос синхронизации, если предыдущий ответ включает skipToken. Остановитесь, когда получите ответ, снова содержащий заголовок@odata.deltaLink с deltaToken.

GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Параметры Тип Описание
Параметры заголовка
Предпочтение odata.track-changes Указывает, что запрос является запросом синхронизации. Требуется для первых 2-х запросов GET в цикле.
Предпочтение odata.maxpagesize Устанавливает количество сообщений, которые должны быть возвращены в каждом отклике. Необязательный.
Параметры URL-адреса
folder_id строка Идентификатор папки или Inbox, Drafts, SentItems, или же хорошо известное имя папки DeletedItems для синхронизации. Обязательный.
deltaToken Строка Маркер, который идентифицирует последний запрос синхронизации для этой папки. Он возвращается как часть значения для @odata.deltaLink в предыдущем ответе синхронизации. Требуется для второго запроса GET.
skipToken Строка Маркер, который указывает, что есть больше сообщений для загрузки. Требуется, если он возвращается как часть значения для @odata.nextLink в предыдущем ответе синхронизации.

По умолчанию синхронизация возвращает все свойства и все сообщения в папке. Используйте запрос $select, чтобы указать только те свойства, которые вам нужны для максимальной производительности. Свойство идентификатора всегда возвращается.

Синхронизация поддерживает выражения запроса $select, $top, $expand. Существует ограниченная поддержка $filter и $orderby, а поддержка $search отсутствует.

  • Поддерживаются только следующие выражения $filter: "$filter = ReceivedDateTime+ge+{value}" или "$filter=ReceivedDateTime+gt+{value}".
  • Только поддерживаемые выражение $orderby — «$orderby = ReceivedDateTime + desc». Если выражение $orderby не указано, результаты будут возвращаться в непредсказуемом порядке.

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Тип ответа

Коллекция, содержащая запрошенные сообщения, и deltaToken или skipToken, которые вы используете для запроса дополнительных страниц данных сообщений с сервера для дополнительной синхронизации.

Пример

В следующем примере показана серия запросов, синхронизирующих определенную папку, которая содержит 7 сообщений. Первый запрос синхронизации указывает на возвращение 2-х сообщений за раз (odata.maxpagesize равно 2), и только свойстваОтправитель и Тема для каждого сообщения.

  • Первоначальный отклик возвращает 2 сообщения, deltaLink и deltaToken.
  • Второй запрос использует deltaToken. Второй ответ возвращает 2 сообщения, nextLink и skipToken.
  • Для выполнения синхронизации используйте skipToken от предыдущего запроса синхронизации, пока запрос синхронизации не вернет deltaLink и deltaToken. В этом случае синхронизация будет завершена. Сохраните deltaToken для следующего цикла синхронизации.

Пример исходного запроса

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Пример данных первоначального отклика

Первоначальный ответ включает заголовок Preference-Applied: odata.track-changes, указывающий, что эта папка поддерживает синхронизацию. Ответ также включает два сообщения и deltaToken.

Preference-Applied: odata.track-changes

{
  "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
      "Id":"AAMkAGI5MAAAwXADPAAA=",
      "Subject":"Updates from All Company",
      "Sender":{
        "EmailAddress":{
          "Name":"Contoso Demo on Yammer",
          "Address":"noreply@yammer.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
      "Id":"AAMkAGI5MAAAwXADVAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Alex Darrow",
          "Address":"AlexD@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}

Пример второго запроса

Второй запрос указывает deltaToken, возвращенный в предыдущем отклике.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Пример данных второго отклика

Второй ответ включает еще два сообщения и skipToken, указывая на то, что в папке есть еще сообщения для синхронизации.

{
  "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
      "Id":"AAMkAGI5MAAAwXADQAAA=",
      "Subject":"International Launch Planning for XT2000",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
      "Id":"AAMkAGI5MAAAwXADUAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Anne Wallace",
          "Address":"AnneW@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}

Пример третьего запроса

Третий запрос включает skipToken, возвращенный в предыдущем отклике.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

Пример данных третьего ответа

Третий ответ возвращает еще два сообщения и еще один skipToken, показывая, что в папке все еще есть сообщения для синхронизации.

{
  "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
      "Id":"AAMkAGI5MAAAwXADTAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Pavel Bansky",
          "Address":"PavelB@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
      "Id":"AAMkAGI5MAAAwXADSAAA=",
      "Subject":"Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}

Пример четвертого запроса

Четвертый запрос включает skipToken от предыдущего отклика.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

Пример четвертого и окончательного ответа

Четвертый ответ возвращает единственное оставшееся сообщение в папке и deltaToken, означающий, что синхронизация для этой папки завершена. Сохраните deltaToken для следующего цикла синхронизации для этой папки.

{
  "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
      "Id":"AAMkAGI5MAAAwXADRAAA=",
      "Subject":"Data sheets for the XT2000 ",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink": "https://outlook.office365.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

Пример дополнительного запроса синхронизации

Первый запрос включает deltaToken от последнего полного ответа на синхронизацию.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Ответ на запрос дополнительной синхронизации включает любые изменения во множество сообщений папки.

Пример отклика дополнительной синхронизации

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


{
  "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value": [
        {
            "id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
            "reason": "deleted"
        }
    ]
,
  "@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

Создать и отправить сообщения

Вы можете отправить новое сообщение «на лету» или создать черновик сообщения, а затем отправить его. Вы можете создавать черновики в любой папке.

Отправить новое сообщение на лету

Минимальная требуемая область

Одно из следующих:

Отправьте сообщение, предоставленное в тексте запроса, используя метод SendMail. Вы можете включить одно или несколько вложений в один и тот же вызов действия, указав их в свойстве коллекцииВложения. Также можно сохранить сообщение в папке «Отправленные».

POST https://outlook.office.com/api/v2.0/me/sendmail
Обязательный параметр Тип Описание
Параметры тела
Сообщение Message Сообщение для отправки.
SaveToSentItems boolean (логический) Указывает, сохранять ли сообщение в папке «Отправленные». По умолчанию true.

Укажите параметр Message с требуемым свойством ToRecipients и любыми доступными для записи свойствами сообщения в теле запроса. Параметр SaveToSentItems требуется, только если false.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/sendmail

{
  "Message": {
    "Subject": "Meet for lunch?",
    "Body": {
      "ContentType": "Text",
      "Content": "The new cafeteria is open."
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
        "Name": "menu.txt",
        "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
      }
    ]
  },
  "SaveToSentItems": "false"
}

Пример отклика

Status code: 202

Создать черновик сообщения

Минимальная требуемая область

Одно из следующих:

Создание черновика нового сообщения. Черновики могут быть созданы в любой папке и по желанию обновлены перед отправкой. Чтобы сохранить в папке «Черновики», используйте ярлык /me/messages.

POST https://outlook.office.com/api/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор папки назначения либо хорошо известное имя папки Inbox или Drafts.

Укажите любые записываемые свойства сообщения в тексте запроса.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/messages
Content-Type: application/json

{
  "Subject": "Did you see last night's game?",
  "Importance": "Low",
  "Body": {
    "ContentType": "HTML",
    "Content": "They were <b>awesome</b>!"
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
      }
    }
  ]
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
  "Id": "AAMkAGE0Mz7k0AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
  "Categories": [],
  "CreatedDateTime": "2014-10-18T20:06:51Z",
  "LastModifiedDateTime": "2014-10-18T20:06:51Z",
  "Subject": "Did you see last night's game?",
  "BodyPreview": "They were awesome!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Low",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mpv2hisc=",
  "ReceivedDateTime": "2014-10-18T20:06:51Z",
  "SentDateTime": "2014-10-18T20:06:51Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Тип ответа

Черновик сообщения.

Отправить черновик сообщения

Минимальная требуемая область

Одно из следующих:

Отправить новый черновик сообщения, а черновик Ответить, черновик Ответить всем или черновик Перенаправить, используя метод Send. Копия сообщения сохраняется в папке «Отправленные».

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/send
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор черновика сообщения для отправки.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz7k0AAA=/send

Пример отклика

Status code: 202

Ответить или ответить всем на сообщения

Примечание

Поведение операций в этом разделе зависит от версии. Узнайте больше, выбрав нужную версию в разделе Справка по Office 365 REST API в содержании в левой части.

Вы можете ответить с комментариями на лету, или вы можете сначала создать черновик ответа, а затем обновить и отправить черновик.

Вы можете ответить только отправителю сообщения или ответить всем получателям сразу.

Ответ отправителю на лету

Минимальная требуемая область

Одно из следующих:

Ответьте отправителю сообщения, указав комментарий и используя метод Ответить. Копия сообщения сохраняется в папке «Отправленные».

Кроме того, если вам необходимо изменить любое из обновляемых свойств для ответа, вы можете сначала создать черновик ответного сообщения, обновить свойства сообщения, а затем отправить ответ.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/reply
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для ответа.
Параметры тела
Комментарий строка Добавляемый комментарий. Может быть пустой строкой.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/reply
Content-Type: application/json

{
  "Comment": "Sounds great! See you tomorrow."
}

Пример отклика

Status code: 202

Ответить всем на лету

Минимальная требуемая область

Одно из следующих:

Ответьте всем получателям сообщения, указав комментарий и используя методОтветить всем. Копия сообщения сохраняется в папке «Отправленные».

Кроме того, если вам необходимо изменить любые обновляемые свойства для ответа, вы можете сначала создать черновик сообщения «ответить всем», обновить свойства сообщения, а затем отправить ответ.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/replyall
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для ответа.
Параметры тела
Комментарий строка Добавляемый комментарий. Может быть пустой строкой.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0MSz8DmAAA=/replyall
Content-Type: application/json

{
  "Comment": "Thanks for the heads up."
}

Пример отклика

Status code: 202

Создать черновик ответного сообщения

Минимальная требуемая область

Одно из следующих:

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

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreply
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для ответа.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
  "Id": "AAMkADA1MTAAAH5JKoAAA=",
  "CreatedDateTime": "2016-03-15T08:33:43Z",
  "LastModifiedDateTime": "2016-03-15T08:33:43Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:33:43Z",
  "SentDateTime": "2016-03-15T08:33:43Z",
  "HasAttachments": false,
  "InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
  },
  "BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Тип ответа

Черновик ответного сообщения с ToRecipient, IsDraft и другими соответствующими предварительно созданными свойствами.

Создайте черновик сообщения «ответить всем»

Минимальная требуемая область

Одно из следующих:

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

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreplyall
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для ответа.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createreplyall

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k5AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF\"",
  "Id": "AAMkAGE0Mz7k5AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF",
  "Categories": [],
  "CreatedDateTime": "2014-10-18T21:21:06Z",
  "LastModifiedDateTime": "2014-10-18T21:21:06Z",
  "Subject": "RE: Check out the new Office 365 APIs",
  "BodyPreview": "If the project gets approved, please decide on the name.\r\n_________________________________\r\nFrom: Alex D\r\nSent: Saturday, October 18, 2014 9:18:18 PM\r\nTo: Katie Jordan; Garth Fort\r\nSubj",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0M3HbTkEU=",
  "ReceivedDateTime": "2014-10-18T21:21:06Z",
  "SentDateTime": "2014-10-18T21:21:06Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Тип ответа

Черновик сообщения «ответить всем» с ToRecipient, IsDraftи другими соответствующими предварительно созданными свойствами.

Переслать новые сообщения или черновики сообщений

Примечание

Поведение операций в этом разделе зависит от версии. Узнайте больше, выбрав нужную версию в разделе Справка по Office 365 REST API в содержании в левой части.

Вы можете переслать сообщение напрямую или создать черновик прямого сообщения, обновить и затем отправить его.

Переслать сообщение напрямую

Минимальная требуемая область

Одно из следующих:

Переадресуйте сообщение, используя Переадресовать и, возможно, указав комментарий. Копия сообщения сохраняется в папке «Отправленные».

Кроме того, если вам необходимо изменить любые обновляемые свойства в сообщении, которое нужно переадресовать, вы можете сначала создать черновик пересылаемого сообщения, обновить свойства сообщения, а затем отправить ответ.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/forward
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для пересылки.
Параметры тела
Комментарий строка Добавляемый комментарий. Может быть пустой строкой.
ToRecipients Коллекция (Получатель) Список получателей.

Укажите параметрыComment и ToRecipients в тексте запроса.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/forward
Content-Type: application/json

{
  "Comment": "FYI",
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
      }
    }
  ]
}

Пример отклика

Status code: 202

Создать черновик переадресуемого сообщения

Минимальная требуемая область

Одно из следующих:

Создание черновика для пересылки указанного ресурса message. После этого можно обновить черновик, чтобы добавить содержимое в текст сообщения или изменить другие свойства сообщения, либо просто отправить черновик.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createforward
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для пересылки.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createforward

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k6AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG\"",
  "Id": "AAMkAGE0Mz7k6AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG",
  "Categories": [],
  "CreatedDateTime": "2016-03-15T08:42:10Z",
  "LastModifiedDateTime": "2016-03-15T08:42:10Z",
  "Subject": "FW: Let's start a group",
  "BodyPreview": "Dana, just want to make sure you get this.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": {
    "EmailAddress": {
      "Address": "'alexd@contoso.onmicrosoft.com'",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0M3HbTkEU=",
  "ReceivedDateTime": "2016-03-15T08:42:10Z",
  "SentDateTime": "2016-03-15T08:42:10Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Тип ответа

Черновик переадресуемого сообщения с IsDraft и соответствующие свойства предварительно созданы.

Обновить сообщения

Измените записываемые свойства в сообщении и сохраните изменения.

Обновить сообщение

Минимальная требуемая область

Одно из следующих:

Изменить записываемые свойства в черновике или существующем сообщении. Будут изменены только указанные вами свойства.

PATCH https://outlook.office.com/api/v2.0/me/messages/{message_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для обновления.

Укажите любые записываемые свойства сообщения в тексте запроса.

Пример запроса

PATCH https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json

{
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "IsRead": true
}

Пример отклика

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
  "Id": "AAMkAGE0Mz8S-AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "CreatedDateTime": "2014-10-17T17:12:15Z",
  "LastModifiedDateTime": "2014-10-19T03:24:35Z",
  "Subject": "Meeting notes from today",
  "BodyPreview": "See attached",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": true,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mip-qvhs=",
  "ReceivedDateTime": "2014-10-17T17:12:15Z",
  "SentDateTime": "2014-10-17T17:12:12Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Тип ответа

Обновленное сообщение.

Удаление сообщений

Примечание

Будьте осторожны при удалении сообщений. Удаленное содержимое не может быть восстановлено. Чтобы узнать больше, см. Удаление элементов.

Удалить сообщение

Минимальная требуемая область

Одно из следующих:

DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор сообщения для удаления.

Пример запроса

DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8TBAAA=

Пример отклика

Status code: 204

Переместить или скопировать сообщения

Вы можете перемещать или копировать сообщение в папку.

Переместить сообщение

Минимальная требуемая область

Одно из следующих:

Перемещение сообщения в папку. При этом в целевой папке создается новая копия сообщения.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/move
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения, которое нужно переместить.
Параметры тела
DestinationId строка Идентификатор целевой папки либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
  "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
  "Id": "AAMkAGI2shBhAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGI2AAEJAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGWgitxag=",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Тип ответа

Сообщение, которое было перемещено.

Скопировать сообщение

Минимальная требуемая область

Одно из следующих:

Копирование сообщения в папку.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/copy
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения, которое нужно скопировать.
Параметры тела
DestinationId строка Идентификатор целевой папки либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
  "Id": "AAMkAGI2T8DtAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Тип ответа

Новая копия сообщения.

Управление сортировкой почты

Сортировка почты позволяет просматривать важные сообщения на вкладке Focused папки "Входящие", а остальные входящие сообщения — на вкладке Other. Система классификации изначально упорядочивает сообщения в папке "Входящие" стандартным способом. По мере использования системы вы можете исправлять ее поведение и обучать ее с помощью пользовательского интерфейса или программного кода. Чем больше вы используете систему, тем лучше она будет определять важные входящие сообщения.

На программном уровне API REST сортировки почты работает с сообщениями указанного пользователя и поддерживает свойство InferenceClassification для каждого сообщения. Возможные значения — Focused и Other, которые указывают, считает ли пользователь это сообщение более или менее важным соответственно. Чтобы исправить и обучить систему классификации сообщений, используйте операцию PATCH на свойствеInferenceClassification на уровне сообщений.

API REST сортировки почты также позволяет создавать переопределения. Каждое переопределение, представленное экземпляром InferenceClassificationOverride, является инструкцией для системы классификации, которая всегда должна указывать сообщения от конкретного отправителя согласованным образом (т. е. всегда как «Отсортированное» или всегда как «Другое»), независимо от любого ранее усвоенного подхода. Вы можете создавать, получать, обновлять и удалять переопределения для указанного пользователя. Эти переопределения пользователя, если они есть, доступны в свойстве навигации InferenceClassification, которая представляет собой коллекцию экземпляров InferenceClassificationOverride. Переопределения позволяют пользователю больше контролировать классификацию входящих сообщений и повышать доверие к системе классификации.

Обратите внимание, что система классификации изучает и применяет классификацию только для входящих сообщений в папке «Входящие». Сообщения в других папках по умолчанию являются «Отсортированными». Настройка переопределения влияет на будущие сообщения, поступающие в папку «Входящие». Переопределение не изменяет свойство InferenceClassification в существующих сообщениях в любой папке, включая папку «Входящие».

Обучение системы классификации сообщений

Единообразная классификация сообщений от определенных отправителей с помощью переопределения

Обновить классификацию сообщений

Минимальная требуемая область

Одно из следующих:

Изменить свойствоInferenceClassification указанного сообщения. Если сообщение находится в папке «Входящие», пользователь увидит это сообщение под соответствующей вкладкой Focused или Other. Такая коррекция также обучает систему классификации сообщений для настройки будущей классификации для указанного пользователя.

PATCH https://outlook.office.com/api/v2.0/me/messages('{message_id}')

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/messages('{message_id}')
Параметр Тип Описание
Параметры URL-адреса
message_id строка Идентификатор черновика сообщения для отправки.
user_id строка Электронный адрес пользователя.

Тип ответа

Обновленное сообщение.

Пример запроса

Этот пример изменяет свойство InferenceClassification на Other для указанного сообщения вошедшего в систему пользователя.

PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkADA1MTQBAAA=')

{
    "InferenceClassification": "Other"
}

Пример отклика

Объект ответа, показанный здесь, отображает обновленное свойство InferenceClassification и сокращается для краткости. Фактический запрос PATCH возвращает все свойства сообщения.

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
    "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
    "Id": "AAMkADA1MTQBAAA=",
    "Importance": "Normal",
    "Sender": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Admin",
                "Address": "admin@adatum.onmicrosoft.com"
            }
        }
    ],
    "InferenceClassification": "Other"
}

Создать переопределение для отправителя

Минимальная требуемая область

Одно из следующих:

Создание переопределения для отправителя, определенного адресом SMTP. Последующие сообщения с этого SMTP-адреса всегда будут классифицироваться так, как указано в переопределении.

Примечание

  • Если переопределение с таким же SMTP-адресом уже существует, поля classifyAs и Name этого переопределения будут обновлены с использованием предоставленных значений.
  • Максимальное количество переопределений, поддерживаемых для почтового ящика, — 1000. Они основываются на уникальных SMTP-адресах отправителей.
  • Операция POST поддерживает создание только одного переопределения в один момент времени. Чтобы создать несколько переопределений, вы можете отправлять несколько запросов POST или группировать их впакеты.
POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides

POST https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Параметр Тип Описание
Параметры URL-адреса
user_id строка Электронный адрес пользователя.

Тип ответа

Недавно созданный экземплярInferenceClassificationOverride или обновленный InferenceClassificationOverride, если один с таким же SMTP-адресом уже существует.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides

{
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

Пример отклика

Status code: 201 Created

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

Получить все пользовательские переопределения

Минимальная требуемая область

Одно из следующих:

Получение переопределений, настроенных пользователем для классификации сообщений от определенных отправителей.

Каждое переопределение соответствует SMTP-адресу отправителя. Изначально у пользователя нет переопределений.

GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides

GET https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Параметр Тип Описание
Параметры URL-адреса
user_id строка Электронный адрес пользователя.

Тип ответа

Коллекция экземпляров InferenceClassificationOverride. Пустая коллекция возвращается, если у пользователя нет каких-либо настроенных переопределений.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides

Пример отклика

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
            "ClassifyAs": "Focused",
            "SenderEmailAddress": {
                "Name": "Fanny Downs",
                "Address": "fannyd@adatum.onmicrosoft.com"
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
            "ClassifyAs": "Other",
            "SenderEmailAddress": {
                "Name": "Randi Welch",
                "Address": "randiw@adatum.onmicrosoft.com"
            }
        }
    ]
}

Обновить переопределение для отправителя

Минимальная требуемая область

Одно из следующих:

Изменение поля ClassifyAs переопределения указанным образом.

Вы не можете использовать операцию PATCH, чтобы менять поля в экземпляре inferenceClassificationOverride.

Если для конкретного отправителя существует переопределение и он меняет свое отображаемое имя, вы можете использовать операцию POST для принудительного обновления поля ввода имени в имеющемся переопределении .

Если для конкретного отправителя существует переопределение и он меняет свой SMTP-адрес, "обновить" переопределение для этого отправителя можно только удалив существующее переопределение и создав другое с новым SMTP-адресом.

PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Параметр Тип Описание
Параметры URL-адреса
override_id строка Идентификатор переопределения для обновления.
user_id строка Электронный адрес пользователя.

Тип ответа

Обновленный экземпляр InferenceClassificationOverride.

Пример запроса

В следующем примере переопределение меняется для вошедшего в систему пользователя. Переопределение для отправителя с SMTP-адресом randiw@adatum.onmicrosoft.com изменено с Other на Focused.

PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

{
    "ClassifyAs": "Focused"
}

Пример отклика

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@adatum.onmicrosoft.com"
    }
}

Удалить переопределение отправителя

Минимальная требуемая область

Одно из следующих:

Удаление переопределения по идентификатору.

DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')

DELETE https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Параметр Тип Описание
Параметры URL-адреса
override_id строка Идентификатор черновика сообщения для отправки.
user_id строка Электронный адрес пользователя.

Пример запроса

DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

Пример отклика

Status code: 204 No Content

Управление @-Mentions (предварительная версия)

Эта функция в настоящий момент доступна в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Управление правилами (предварительная версия)

Эта функция в настоящий момент доступна в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Отписаться (предварительная версия)

Эта функция в настоящий момент доступна в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Получить выбор языка (предварительная версия)

Эта функция в настоящий момент доступна только в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Получить выбор часового пояса (предварительная версия)

Эта функция в настоящий момент доступна только в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Получить параметры почтового ящика

Минимальная требуемая область

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

GET https://outlook.office.com/api/v2.0/me/MailboxSettings

Тип ответа

MailboxSettings.

Чтобы получить только предпочтительную настройку языка среди всех настроек почтового ящика:

GET https://outlook.office.com/api/beta/me/MailboxSettings/Language

Тип ответа

LocaleInfo.

Чтобы получить только предпочтительный параметр часового пояса среди всех настроек почтового ящика:

GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone

Тип ответа

Строка, представляющая предпочтительный часовой пояс в формате часового пояса Windows.

Вы также можете получить параметры автоответчика.

Пример запроса

В следующем примере получают все параметры почтового ящика для вошедшего в систему пользователя.

GET https://outlook.office.com/api/v2.0/me/MailboxSettings

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "All",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-14T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
        "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}

Получить параметры автоответчика

Минимальная требуемая область

Получите параметры автоматического ответа в почтовом ящике вошедшего в систему пользователя.

Автоматические ответы позволяют вам автоматически уведомлять людей сообщением, когда они отправляют вам электронное письмо. Например, вы можете уведомить их, когда вы недоступны и не можете им ответить.

Поскольку автоматические ответы являются частью параметров почтового ящика пользователя (в виде MailboxSettings), вы можете просмотреть параметры автоматических ответов, получив все параметры почтового ящика, которые включают настройки автоматических ответов, или получив только автоматические настройки ответов.

Вы можете использовать Prefer: outlook.timezone HTTP-заголовок, чтобы указать предпочтительный часовой пояс для отображения значений ScheduledStartDateTime и ScheduledEndDateTime.

GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting

Тип ответа

AutomaticRepliesSetting.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
    "Status": "AlwaysEnabled",
    "ExternalAudience": "None",
    "ScheduledStartDateTime": {
        "DateTime": "2016-03-19T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "ScheduledEndDateTime": {
        "DateTime": "2016-03-20T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}

Обновление параметров автоматического ответа

Минимальная требуемая область

Автоматические ответы являются частью настроек почтового ящика пользователя (в виде MailboxSettings). Вы можете включить, настроить или отключить автоматические ответы, обновив соответствующие настройки почтового ящика.

Примечание

Невозможно создать или удалить какие-либо параметры почтового ящика.

PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings

Тип ответа

MailboxSettings.

Пример запроса

Вслед за предыдущим примером получения автоматических параметров ответов, следующий пример изменяет Состояние с AlwaysEnabled на Scheduled, а даты начала и окончания - на другой диапазон дат.

PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Content-Type: application/json

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ScheduledStartDateTime": {
          "DateTime": "2016-03-20T18:00:00.0000000",
          "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
          "DateTime": "2016-03-28T18:00:00.0000000",
          "TimeZone": "UTC"
        }
    }
}

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "None",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-20T02:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T02:00:00.0000000",
            "TimeZone": "UTC"
        },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}

Получить MailTips (предварительная версия)

Эта функция в настоящий момент доступна в бета-версии. Чтобы узнать больше, в оглавлении слева, перейдите в раздел ссылка на Office 365 REST API и выберите бета-версию.

Получение вложений

Можно получить коллекцию вложений или получить вложение.

Получение набора вложений

Минимальная требуемая область

Одно из следующих:

Получите вложения из определенного сообщения.

GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка Идетнтификатор сообщения.

Примечание

По умолчанию каждое вложение в ответе включает все его свойства, соответствующие этому типу вложения. Используйте $select, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Тип ответа

Набор вложений может с типом FileAttachment или ItemAttachment.

Пример запросов и ответов

В следующем примере показано, как использовать $select для указания возврата только свойства Имя каждого вложенного файла в ответе. См. пример ответа в Получить вложение для полного списка свойств, которые будут возвращены для вложения, если вы не используете $select.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
            "Id": "AAMkAGI2j4kShdM=",
            "Name": "minutes.docx"
        }
    ]
}

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

GET https://outlook.office.com/api/v2.0/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
      "Id": "AAMkADFiNTAUhhYuYi0=",
      "Name": "How to retrieve item attachment using Outlook REST API",
      "ContentType": message/rfc822,
      "Size": 71094,
      "IsInline": false,
      "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
  ]
}

Получение вложения

Минимальная требуемая область

Одно из следующих:

Получите вложение из определенного сообщения.

GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения.
attachment_id строка Идентификатор вложения.

Примечание

По умолчанию ответ включает все свойства вложения. Используйте $select, чтобы указать только те свойства, которые вам нужны для лучшей производительности. Обратитесь к Получить коллекцию вложений для примера. Свойство идентификатора всегда возвращается. См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Тип ответа

Запрошенное вложение файла или вложение элемента.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
    "Id": "AAMkAGI2j4kShdM=",
    "LastModifiedDateTime": "2014-10-20T00:41:52Z",
    "Name": "minutes.docx",
    "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "Size": 11585,
    "IsInline": false,
    "ContentId": null,
    "ContentLocation": null,
    "ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}

Пример запроса (вложенная ссылка)

Следующий пример получает вложенную ссылку сообщения.

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=

Пример отклика

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "OneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "Edit",
  "IsFolder": false
}

Пример запроса ($расширение вложений)

Следующий пример получает и расширяет все 3 вложенных ссылки, встроенные со свойствами сообщения.

GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

Пример отклика

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
  "CreatedDateTime": "2016-03-08T01:01:57Z",
  "LastModifiedDateTime": "2016-03-12T06:18:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-08T01:01:57Z",
  "SentDateTime": "2016-03-08T01:01:51Z",
  "HasAttachments": true,
  "InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
  "Subject": "RE: New year activity",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
  },
  "BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
  "Importance": "Normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "From": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Name": "Culinary Expert Group",
        "Address": "Chefs@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
  "ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": false,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
      "LastModifiedDateTime": "2016-03-12T05:54:31Z",
      "Name": "Personal pictures",
      "ContentType": null,
      "Size": 362,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": true
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
      "LastModifiedDateTime": "2016-03-12T06:04:38Z",
      "Name": "Koala picture",
      "ContentType": null,
      "Size": 382,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
      "LastModifiedDateTime": "2016-03-12T06:18:54Z",
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 412,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

Пример запроса ($расширение вложенных элементов)

В следующем примере выполняется получение вложенного элемента.

GET https://outlook-sdf.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item

Пример отклика

Status code: 200

{
    "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
    "LastModifiedDateTime": "2017-04-25T20:05:55Z",
    "Name": "RE: Changes to GetConditionMetadata handler",
    "ContentType": null,
    "Size": 78927,
    "IsInline": false,
    "Item": {
        "Id": "", 
        "Name": "How to retrieve item attachment using Outlook REST API",
        "ContentType": message/rfc822,
        "Size": 71094,
        "IsInline": false,
        "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
}

Создание вложений

Вы можете создать вложенный файл или создать вложенный элемент для сообщения.

Создание вложения файла

Минимальная требуемая область

Одно из следующих:

Добавьте вложение в сообщение.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения.
Параметры тела
@odata.type строка #Microsoft.OutlookServices.FileAttachment
Имя строка Имя вложения.
ContentBytes двоичный Файл для вложения.

Укажите параметры Name и SourceUrl и любые записываемые свойства вложенной ссылки в тексте запроса.

Тип ответа

Новое вложение файла.

Создание вложения элемента

Минимальная требуемая область

Одно из следующих:

Добавьте вложенный элемент в сообщение.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения.
Параметры тела
@odata.type строка #Microsoft.OutlookServices.ItemAttachment
Имя строка Имя вложения.
Элемент Сущность Сообщение или Мероприятие. Элемент для вложения.

Укажите параметры Name и Item и любые записываемые свойства вложенного элемента в тексте запроса.

Тип ответа

Новое вложение элемента.

Создание вложения ссылки

Минимальная требуемая область

Одно из следующих:

Добавьте вложенную ссылку в сообщение.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id Строка ИД сообщения.
Параметры тела
@odata.type Строка #Microsoft.OutlookServices.ReferenceAttachment
Имя Строка Отображаемое имя вложения. Обязательный.
SourceUrl Строка URL для получения содержимого вложения. Если это URL-адрес на папку, то для надлежащего отображения папки в Outlook или Outlook в Интернете установите для параметра IsFolder значение true. Обязательный.

Укажите параметры Name и SourceUrl и любые записываемые свойства вложения ссылки в тексте запроса.

Тип ответа

Вложение ссылки.

Пример запроса

Следующий пример добавляет вложенную ссылку в существующее сообщение. Вложение - это ссылка на файл OneDrive для бизнеса.

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json

{ 
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Koala picture", 
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
} 

Пример отклика

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "oneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "edit",
  "IsFolder": false
}

Пример запроса

В следующем примере добавляется вложенная ссылка в том же вызове, что и создание черновика сообщения. Вложение - это ссылка на файл OneDrive для бизнеса.

POST https://outlook.office.com/api/v2.0/me/messages
Content-Type: application/json

{
    "Subject": "Plan for dinner",
    "Body": {
      "ContentType": "HTML",
      "Content": "Office anniversary is coming soon!"
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "randiw@contoso.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
        "Name": "Hydrangea picture", 
        "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg", 
        "ProviderType": "oneDriveBusiness", 
        "Permission": "Edit", 
        "IsFolder": "False" 
      }
    ]
}

Пример отклика

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
  "Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
  "CreatedDateTime": "2016-03-12T09:04:54Z",
  "LastModifiedDateTime": "2016-03-12T09:04:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-12T09:04:54Z",
  "SentDateTime": "2016-03-12T09:04:54Z",
  "HasAttachments": true,
  "InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
  "Subject": "Plan for dinner",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Office anniversary is coming soon!",
  "Importance": "normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
  "Sender": null,
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
      "Name": "Randi Welch",
      "address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
  "ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "flagStatus": "notFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
      "LastModifiedDateTime": null,
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 0,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "oneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

Удаление вложений

Минимальная требуемая область

Одно из следующих:

Удалить указанное вложение сообщения. Вложение может быть вложенным файлом или вложенным элементом.

DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id строка ИД сообщения.
attachment_id строка Идентификатор вложения.

Пример запроса

DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=

Пример отклика

Status code: 204

Получить папки

Вы можете получить коллекцию папок или получить папку в почтовом ящике пользователя.

Получить коллекцию папки

Минимальная требуемая область

Одно из следующих:

Получите коллекцию папок в корневой папке вошедшего пользователя (.../me/MailFolders) или в указанной папке. Вы можете использовать ярлык .../me/MailFolders для получения коллекции папок верхнего уровня и перехода к другой папке.

GET https://outlook.office.com/api/v2.0/me/MailFolders
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка ИД папки или хорошо известное имя папкиInbox, Drafts, SentItems или DeletedItems, если вы получаете папки из определенной папки.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/MailFolders

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
            "Id": "AAMkAGI2AAEKAAA=",
            "DisplayName": "Deleted Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 1
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
            "Id": "AAMkAGI2AAEPAAA=",
            "DisplayName": "Drafts",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
            "Id": "AAMkAGI2AAEMAAA=",
            "DisplayName": "Inbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 6,
            "TotalItemCount": 6
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
            "Id": "AAMkAGI2AAEeAAA=",
            "DisplayName": "Junk Email",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
            "Id": "AAMkAGI2AAELAAA=",
            "DisplayName": "Outbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
            "Id": "AAMkAGI2AAEJAAA=",
            "DisplayName": "Sent Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 3
        }
    ]
}

Тип ответа

Запрошенная коллекция папок .

Получить папку

Минимальная требуемая область

Одно из следующих:

Получить папку по идентификатору.

GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}

Получите папку почтового ящика, совместно используемую пользователем:

GET https://outlook.office.com/api/v2.0/users/{user_id}/mailFolders/{folder_id}

Примечание

См. Параметры запроса OData для фильтрации, сортировки и параметров поискового вызова.

Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.

Пример запроса

GET https://outlook.office.com/api/v2.0/me/MailFolders/inbox

Пример отклика

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
    "Id": "AAMkAGI2AAEMAAA=",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkAGI2AAEIAAA=",
    "ChildFolderCount": 0,
    "UnreadItemCount": 6,
    "TotalItemCount": 6
}

Пример запроса

Получение папки, совместно используемую с другим пользователем:

GET https://outlook.office.com/api/v2.0/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM

Пример отклика

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
    "ChildFolderCount": 4,
    "UnreadItemCount": 27962,
    "TotalItemCount": 64420
}

Тип ответа

Запрошенная папка .

Синхронизировать иерархию папок

Вы можете получить неструктурированную таблицу всех папок в почтовом ящике. При синхронизации иерархии почтовой папки запрашивайте эту категорию.

Конечная точка Категория папок
Me/MailFolders Папки почты

Вы можете синхронизировать только верхний уровень каждой категории папки. Например, вы можете запросить Me/MailFolders, но не Me/MailFolders («Входящие»).

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

Минимальная требуемая область

Одно из следующих:

GET https://outlook.office.com/api/v2.0/me/MailFolders
Обязательный параметр Тип Описание
Параметр заголовка
Предпочтение odata.trackchanges Указывает, что запрос является запросом синхронизации.
Параметры тела
odata.deltaLink строка Маркер, который указывает, когда иерархия папки была синхронизирована в последний раз.

Если какие-либо из следующих параметров запроса — $filter, $orderby, $search, $top — включены в запрос, они игнорируются.

Тип ответа

Неструктурированный список папок в запрашиваемой категории.

Создать папки

Добавьте новую папку в коллекцию папок.

Создать папку

Минимальная требуемая область

Одно из следующих:

Создайте дочернюю папку по имени, указанному в ** DisplayName** . DisplayName является единственным записываемым свойством для папки.

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.
Параметры тела
DisplayName Отображаемое имя строка Отображаемое имя новой папки.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/childfolders
Content-Type: application/json

{
  "DisplayName": "Company"
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Company",
  "ChildFolderCount": 0,
  "UnreadItemCount": 2,
  "TotalItemCount": 27
}

Тип ответа

Новая папка.

Замечания

Вы не можете создать папку верхнего уровня. Вы можете добавить только папку в childfolders конечную точку.

Обновление папок

Изменить имя папки.

Обновить папку

Минимальная требуемая область

Одно из следующих:

Измените имя папки на указанное в DisplayName. Имя является единственным записываемым свойством для папки.

PATCH https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.
Параметры тела
DisplayName Отображаемое имя строка Новое отображаемое имя папки.

Пример запроса

PATCH https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json

{
  "DisplayName": "Business"
}

Пример отклика

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Тип ответа

Обновленная папка.

Удалить папки

Удалите папку и все ее содержимое.

Примечание

Будьте осторожны при удалении папок. Удаленное содержимое не может быть восстановлено. Чтобы узнать больше, см. Удаление элементов.

Удаление папки

Минимальная требуемая область

Одно из следующих:

Удалить папку, указанную в folder_id.

DELETE https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.

Пример запроса

DELETE https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=

Пример отклика

Status code: 204

Переместить или скопировать папки

Вы можете перемещать или копировать папку в другую папку.

Переместить папку

Минимальная требуемая область

Одно из следующих:

Переместите папку и ее содержимое в другую папку, используя метод Переместить.

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/move
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.
Параметры тела
DestinationId строка Идентификатор целевой папки либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGE0MyxQ9AAA="
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MyxQ9AAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Тип ответа

Папка была перемещена.

Скопировать папку

Минимальная требуемая область

Одно из следующих:

Скопируйте папку и ее содержимое в другую папку, используя метод Скопировать.

Пример запроса

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/copy
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id строка Идентификатор целевой папки, либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.
Параметры тела
DestinationId строка Идентификатор целевой папки либо имя известной папки Inbox, Drafts, SentItems или DeletedItems.
POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Пример отклика

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
  "Id": "AAMkAGE0Mz-mAAAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Тип ответа

Новая копия папки.

Дальнейшие действия

Независимо от того, готовы ли вы приступить к созданию приложения или хотите изучить больше материалов, у нас есть все необходимое.

Или узнайте больше об использовании платформы Office 365 здесь: