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


Справка по REST API Почты Outlook (бета)

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

Примечание

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

Не интересуетесь бета-версией API? В оглавлении слева перейдите к разделу Справочник по 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/beta/me/messages

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

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

Примечание

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

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

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

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

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

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/me/messages/{message_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string ИД сообщения.

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

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

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

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/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",
    "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
    "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=",
    "ConversationIndex": "AQHRh3zqrkAcds2kw==",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": false,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}

Тип отклика

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

Примечание

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

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

GET https://outlook.office.com/api/beta/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/beta/me/MailFolders('{folder_id}')/messages

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

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

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

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

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

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

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

  • Поддерживаются только следующие выражения $filter: "$filter = ReceivedDateTime+ge+{value}" или "$filter=ReceivedDateTime+gt+{value}".
  • Единственное поддерживаемое выражение "$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/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}

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

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

GET https://outlook.office.com/api/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}

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

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

GET https://outlook.office.com/api/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}

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

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

GET https://outlook.office.com/api/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

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

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

GET https://outlook.office.com/api/beta/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/beta/$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/beta/me/sendmail
Обязательный параметр Тип Описание
Параметры текста сообщения
Message Message Сообщение для отправки.
SaveToSentItems boolean (логический) Указывает, сохранять ли сообщение в Отправленных. По умолчанию true.

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

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

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

{
  "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/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id string Идентификатор папки назначения либо имя известной папки Inbox или Drafts.

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

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

POST https://outlook.office.com/api/beta/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/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
  "Id": "AAMkAGE0Mz7k0AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
  "Categories": [],
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "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=",
  "ConversationIndex": "AQHRf4zqrkAcds2kw==",
  "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/beta/me/messages/{message_id}/send
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string Идентификатор черновика сообщения для отправки.

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

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

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

Status code: 202

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

Примечание

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

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

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

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

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

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

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

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

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

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Если ReplyTo указано в исходном сообщении, в каждом формате сообщений Интернета (RFC 2822) вы должны отправить ответ получателям в ReplyTo, а не получателем в From.

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

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      },
      {
        "EmailAddress":{
          "Address":"randiw@contoso.onmicrosoft.com",
          "Name":"Randi Welch"
        }
      }
     ]
  },
  "Comment": "Fanny, Randi, would you name the group please?" 
}

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

Status code: 202

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

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

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

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

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

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

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Если ReplyTo указано в оригинальном сообщении, для каждого формата сообщений Интернета (RFC 2822) вы должны отправить ответ получателям в ReplyTo и ToRecipients, а не получателям в From и ToRecipients.

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

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/ReplyAll
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "Please take a look at the attached guidelines before you decide on the name." 
}

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

Status code: 202

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

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

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

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

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string Идентификатор сообщения для ответа.
Параметры текста сообщения
Comment string Добавляемый комментарий. Может быть пустой строкой.
Message Message Любые записываемые свойства для обновления ответного сообщения.

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Если ReplyTo указано в исходном сообщении, в каждом формате сообщений Интернета (RFC 2822) вы должны отправить ответ получателям в ReplyTo, а не получателем в From.

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

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      }
     ]
  },
  "Comment": "Fanny, would you name the group if the project is approved, please?" 
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/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=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBHStBQ=",
  "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 и другими соответствующими предварительно созданными свойствами.

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

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

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

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

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string Идентификатор сообщения «ответить всем».
Параметры текста сообщения
Comment string Добавляемый комментарий. Может быть пустой строкой.
Message Message Любые записываемые свойства для обновления сообщения «ответить всем».

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Если ReplyTo указано в оригинальном сообщении, для каждого формата сообщений Интернета (RFC 2822) вы должны отправить ответ получателям в ReplyTo и ToRecipients, а не получателям в From и ToRecipients.

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

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/createreplyall
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "if the project gets approved, please take a look at the attached guidelines before you decide on the name." 
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKpAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP\"",
  "Id": "AAMkADA1MTAAAH5JKpAAA=",
  "CreatedDateTime": "2016-03-15T08:37:34Z",
  "LastModifiedDateTime": "2016-03-15T08:37:34Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:37:34Z",
  "SentDateTime": "2016-03-15T08:37:34Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB005732BE05BD669AC7CE056EF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body dir=\"ltr\">\r\nif the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:36:32 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group\r\n<div>Fanny, Randi, would you name the group 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</body>\r\n</html>"
  },
  "BodyPreview": "if the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:36:32 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubj",
  "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"
      }
    },
    {
      "EmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAACHRQA==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKpAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Тип отклика

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

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

Примечание

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

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

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

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

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

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

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

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

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Вы должны указать либо параметр ToRecipients, либо свойство ToRecipients Message параметра. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.

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

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/forward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this." 
}

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

Status code: 202

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

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

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

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

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

Примечание

  • Вы можете указать либо комментарий, либо свойство Текст сообщения параметра Message. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.
  • Вы должны указать либо параметр ToRecipients, либо свойство ToRecipients Message параметра. Указание обоих возвратит ошибку HTTP 400 Недопустимый запрос.

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

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/createforward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this; you'll need this if the project gets approved." 
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKqAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ\"",
  "Id": "AAMkADA1MTAAAH5JKqAAA=",
  "CreatedDateTime": "2016-03-15T08:42:10Z",
  "LastModifiedDateTime": "2016-03-15T08:42:10Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:42:10Z",
  "SentDateTime": "2016-03-15T08:42:10Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB0057E0EBC90EF37FC9233941F7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "FW: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>\r\nDana, just want to make sure you get this; you'll need this if the project gets approved.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:47:54 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Dana, just want to make sure you get this; you'll need this if the project gets approved.\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",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAAAMtlIAAH+3c",
  "IsDeliveryReceiptRequested": true,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKqAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Тип отклика

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

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

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

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

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

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

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

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

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

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

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

Примечание

Примечание. Если FlagStatus установлен на Flagged, свойство Flag.CompletedDate не должно быть установлено.

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

{
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "IsRead": true,
  "Flag": {
    "FlagStatus": "Flagged",
      DueDateTime": {
      "DateTime": "2017-12-22T08:00:00.0000000",
      "TimeZone": "UTC"
    },
    "StartDateTime": {
      "DateTime": "2017-12-18T08:00:00.0000000",
      "TimeZone": "UTC"
    }
  }
}

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

Status code: 200


{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
  "Id": "AAMkAGE0Mz8S-AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "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=",
  "ConversationIndex": "AQHRh5tqrkAcds2kw==",
  "ReceivedDateTime": "2014-10-17T17:12:15Z",
  "SentDateTime": "2014-10-17T17:12:12Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true,
  "Flag": {
    "FlagStatus": "Flagged",
    "DueDateTime": {
      "DateTime": "2017-12-22T08:00:00.0000000",
      "TimeZone": "UTC"
    },
    "StartDateTime": {
      "DateTime": "2017-12-18T08:00:00.0000000",
      "TimeZone": "UTC"
    }
  }
}

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

Следующие пример запросов отмечают ранее отмеченное почтовое сообщение как завершенное

PATCH https://outlook.office.com/api/beta/me/messages/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA= 
Content-Type: application/json; charset=utf-8
Content-Length: 164


{
  "Flag": {
    "CompletedDateTime":{
      "DateTime": "2018-02-05T18:00:00",
      "TimeZone": "Pacific Standard Time"
    },
    "FlagStatus": "Complete"
  }
}

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

HTTP/1.1 200 OK

{
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=",
    "CreatedDateTime": "2017-12-15T22:11:41Z",
    "LastModifiedDateTime": "2017-12-16T00:49:44Z",
    "ChangeKey": "CQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/ThM",
    "Categories": [],
    "ReceivedDateTime": "2017-12-15T22:11:41Z",
    "SentDateTime": "2017-12-15T22:11:36Z",
    "HasAttachments": false,
    "InternetMessageId": "<e711230d-d066-469e-a128-c429c5789d97@SINGMEHUB02.gme.gbl>",
    "Subject": "An agent sent you a message in Microsoft Teams",
    "BodyPreview": "Hi John,\r\nYou're missing all the action in Microsoft Teams\r\n\r\n\r\nAn agent\r\nSent a new message to your chat\r\n\r\n         Open Microsoft Teams\r\n\r\nRather not receive these emails? Click your profile picture, select Options and then Notificatio",
    "Importance": "Normal",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAuAAAAAAB79HWXBjsTRocnYZpOfEpCAQCHGmLqkYhISaO_lSymODLQABa6L5YsAAA=",
    "ConversationId": "AAQkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAQAPQcMVQTnE5Aql13YD1jbQw=",
    "ConversationIndex": "AQHTdfGv9BwxVBOcTkCqXXdgPWNtDA==",
    "IsDeliveryReceiptRequested": null,
    "IsReadReceiptRequested": false,
    "IsRead": true,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADTvAAEwgCZNAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "InferenceClassification": "Other",
    "UnsubscribeData": [],
    "UnsubscribeEnabled": false,
    "Body": {
        "ContentType": "HTML",
        "Content": "<html style=\"font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:18px\"></html>\r\n"
    },
    "Sender": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "John",
                "Address": "john@contoso.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "MentionsPreview": null,
    "Flag": {
        "FlagStatus": "Complete",
        "CompletedDateTime": {
            "DateTime": "2018-02-06T00:00:00.0000000",
            "TimeZone": "UTC"
        }
    }
}

Тип отклика

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

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

Примечание

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

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

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

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

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

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

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

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

Status code: 204

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

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

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

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

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

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

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

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

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

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
  "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
  "Id": "AAMkAGI2shBhAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "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=",
  "ConversationIndex": "AQHRh6etrkAcds2kw==",
  "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/beta/me/messages/{message_id}/copy
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string ИД сообщения, которое нужно скопировать.
Параметры текста сообщения
DestinationId string Идентификатор целевой папки либо стандартное имя папки Inbox, Drafts, SentItems или DeletedItems.

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

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

{
  "DestinationId": "inbox"
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
  "Id": "AAMkAGI2T8DtAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "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=",
  "ConversationIndex": "AQHRh6sdrkAcds2kw==",
  "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/beta/me/messages('{message_id}')

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

Тип отклика

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

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

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

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

{
    "InferenceClassification": "Other"
}

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

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

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides

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

Тип отклика

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

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

POST https://outlook.office.com/api/beta/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/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides

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

Тип отклика

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

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

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

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

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/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/beta/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/beta/me/InferenceClassification/Overrides('{override_id}')

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

Тип отклика

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

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

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

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

{
    "ClassifyAs": "Focused"
}

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

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides('{override_id}')

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

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

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

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

Status code: 204 No Content

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

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

Через пользовательский интерфейс приложение может позволить пользователю вставить упоминание в сообщение, предшествуя упоминанию с @ (обычно используется для аналогичных сценариев в других приложениях, отсюда и термин @-упоминание). Программно приложение может создавать упоминание, добавив его в свойствоУпоминания в том же вызовеPOST для создания сообщения.

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

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

Получить информацию об упоминаниях в сообщении

Удалить упоминание в сообщении

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

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

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

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

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

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

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

И для каждого упоминания в свойстве Mentions вы должны указать свойстваMentioned и CreatedBy.

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

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

{
  "Message": {
    "Subject": "Project kickoff",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
  }
}

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

Status code: 202 Accepted

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

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

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

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

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

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

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

И для каждого упоминания в свойстве Mentions вы должны указать свойстваMentioned и CreatedBy.

Тип отклика

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

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

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

{
    "Subject": "Party planning",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {    
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
}

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

Ниже показан созданный черновик сообщения.

Примечание

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

Status code: 201 Created

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAbYj7\"",
  "Id":"AQMkADJmMTUAAAW1fsAAAAA==",
  "Body":{
    "ContentType":"Text",
    "Content":""
  },
  "BodyPreview":"",
  "Sender":null,
  "From":null,
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "MentionsPreview":{
    "IsMentioned":false
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAW1fsAAAAA%3D%3D')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')/Mentions('4577bba4-b063-4cea-9073-6f7ca815fcec')",
      "Id":"4577bba4-b063-4cea-9073-6f7ca815fcec",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-22T02:22:44Z",
      "ServerCreatedDateTime":"2016-07-22T02:22:44.201Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

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

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

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

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

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

По умолчанию GET /me/messages вызов не возвращает свойство Упоминания. Использовать $expand параметр запроса, чтобы найти сведения о каждом упоминании в сообщении.

Примечание

Убедитесь, что ваш фактический вызов соответствующим образом кодирует символы пробела в строке параметров запроса.

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned eq true

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages?$filter=MentionsPreview/IsMentioned eq true
Обязательный параметр Тип Описание
Параметры URL-адреса
folder_id string Идентификатор папки назначения либо имя известной папки Inbox или Drafts.

Тип отклика

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

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

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

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview

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

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

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages(Subject,Sender,ReceivedDateTime,MentionsPreview)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
      "Id":"AQMkADJmMTUAAAgVZAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:21Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAjwVAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAEGj\"",
      "Id":"AQMkADJmMTUAAAjwVAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:20Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    }
  ]
}

Получить сведения о каждом упоминании в сообщении

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

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

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

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

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string ИД запрашиваемого сообщения.

Тип отклика

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

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

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

GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions 

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

Ниже показано запрошенное сообщение, включающее сведения о каждом упоминании в свойстве упоминания. Это сообщение включает в себя 2 упоминания: одно для вошедшего в систему пользователя Даны, а другое — для Ренди Велх.

Примечание

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

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
  "Id":"AQMkADJmMTUAAAgVZAAAA",
  "Subject":"Start planning soon",
  "Body":{
    "ContentType":"HTML",
    "Content":"<html><head></head><body"><p><a href=\"mailto:danas@contoso.onmicrosoft.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.onmicrosoft.com\">@Randi Welch</a>, forgot to mention, I will be away&nbsp;this weekend. I can start on Monday though.</p></body></html>"
  },
  "BodyPreview":"@Dana Swope<mailto:danas@contoso.onmicrosoft.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
  "Sender":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "From":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients":[
  ],
  "BccRecipients":[
  ],
  "MentionsPreview":{
    "IsMentioned":true
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('138f4c0a-1130-4776-b780-bf79d73abb3f')",
      "Id":"138f4c0a-1130-4776-b780-bf79d73abb3f",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.152Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.152Z",
      "DeepLink":null,
      "Application":null
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('7b94df1a-0086-482a-b0da-e62fae12f983')",
      "Id":"7b94df1a-0086-482a-b0da-e62fae12f983",
      "Mentioned":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.158Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.158Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

Удалить упоминание

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

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

Удаляет указанное упоминание в указанном сообщении в почтовом ящике вошедшего в систему пользователя.

DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Обязательный параметр Тип Описание
Параметры URL-адреса
mention_id string ИД упоминания для удаления.
message_id string ИД сообщения, содержащего упоминание.

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

DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')

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

Status code: 204 No Content

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

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

Программным способом можно получить доступ к правилам, используя свойство навигации MessageRules папки "Входящие". Каждое правило определено ресурсом messageRule. Доступные действия правил определяются сложным типом messageRuleActions, а доступные условия и исключения для правил — сложным типом messageRulePredicates.

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

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

Создайте правило, определив множество условий и действий. Outlook выполняет эти действия, если входящее сообщение в папке "Входящие" пользователя соответствует указанным условиям.

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

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

Параметры текста сообщения Тип Описание
Действия MessageRuleActions Действия, применимые к сообщению при выполнении соответствующих условий (если таковые имеются). Обязательный.
Условия MessageRulePredicates Условия, выполнение которых активирует соответствующие действия для указанного правила. Необязательное свойство.
DisplayName Отображаемое имя String Отображаемое имя правила. Обязательный.
Исключения MessageRulePredicates Представляет условия исключения для правила. Необязательное свойство.
IsEnabled Boolean (логический) Указывает, включено ли применение правила к сообщениям. Необязательное свойство.
Последовательность Int32 Определяет последовательность выполнения правила среди прочих правил. Обязательный.

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

Следующее правило пересылает входящее сообщение Алексу Уилбуру, если имя отправителя включает термин «adele».

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Content-Type: application/json

{      
    "DisplayName": "From partner",      
    "Sequence": 2,      
    "IsEnabled": true,          
    "Conditions": {
        "SenderContains": [
          "adele"       
        ]
     },
     "Actions": {
        "ForwardTo": [
          {
             "EmailAddress": {
                "Name": "Alex Wilbur",
                "Address": "AlexW@MOD154847.onmicrosoft.com"
              }
           }
        ],
        "StopProcessingRules": true
     }    
}

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

Status code: 201 Created

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

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

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

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

Получить все правила для папки «Входящие»

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

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

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

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

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZp8=')",
      "Id":"AQAAAJ5dZp8=",
      "DisplayName":"Remove spam",
      "Sequence":1,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SubjectContains":[
          "enter to win"
        ]
      },
      "Actions":{
        "Delete":true,
        "StopProcessingRules":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
      "Id":"AQAAAJ5dZqA=",
      "DisplayName":"From partner",
      "Sequence":2,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SenderContains":[
          "ADELE"
        ]
      },
      "Actions":{
        "StopProcessingRules":true,
        "ForwardTo":[
          {
            "EmailAddress":{
              "Name":"Alex Wilbur",
              "Address":"AlexW@MOD154847.onmicrosoft.com"
            }
          }
        ]
      }
    }
  ]
}

Получить определенное правило

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Параметры URL-адреса Тип Описание
rule_id String ИД правила для получения.

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

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')

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

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

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

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

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

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Параметры URL-адреса Тип Описание
rule_id String ИД правила для обновления.

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

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

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Content-Type: application/json

{
    "DisplayName": "Important from partner",
    "Actions": {
        "MarkImportance": "High"
     }
}   

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

Status code: 200 OK

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"Important from partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "MarkImportance": "High"
  }
}

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

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

Удалите указанное правило.

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Параметры URL-адреса Тип Описание
rule_id String ИД удаляемого правила.

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

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')

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

Status code: 204 No Content

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

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

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

Отправляет запрос электронной почты от имени вошедшего в систему пользователя на то, чтобы отписаться от списка рассылки электронной почты. Использует информацию в List-Unsubscribe заголовке.

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

Отправители сообщений могут использовать списки рассылки удобным для пользователя способом, включив для получателей опцию отказа. Они могут сделать это, указав заголовокList-Unsubscribe в каждом сообщении, следующем RFC-2369.

Примечание

В частности, для того, чтобы действие Отказаться от подписки работало, отправитель должен указать mailto:, а не отписку от информации на основе URL-адреса.

Установка этого заголовка также установит свойство UnsubscribeEnabled экземплярасообщения на true, а свойство UnsubscribeData — на заголовок данных.

Если свойство сообщения UnsubscribeEnabledtrue, вы можете использовать действие Отписаться, чтобы отписать пользователя от похожих будущих сообщений, управляемых отправителем сообщения.

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

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

POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe

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

Status code: 202 Accepted

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

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

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

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

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

GET https://outlook.office.com/api/beta/me/SupportedLanguages

Тип отклика

Коллекция объектов LocaleInfo.

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

GET https://outlook.office.com/api/beta/me/SupportedLanguages

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

Пример ответа ниже усечен для краткости, чтобы сосредоточиться на формате ответа JSON.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.LocaleInfo)",
  "value":[
    {
      "Locale":"af-ZA",
      "DisplayName":"Afrikaans (Suid-Afrika)"
    },
    {
      "Locale":"en-US",
      "DisplayName":"English (United States)"
    },
    {
       "Locale":"en-CA",
       "DisplayName":"English (Canada)"
    }
  ]
}

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

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

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

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

Вы можете по желанию указать, что часовые пояса должны возвращаться в формате часового пояса Windows или часового пояса Internet Assigned Numbers Authority (IANA, другое название — часовой пояс Олсона). Если вы не укажете формат, часовые пояса будут сохранены в формате часового пояса Windows.

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

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Необязательный параметр Тип Описание
Параметры URL-адреса
timezone_format TimeZoneStandard Формат часовых поясов. Поддерживаемые значения — Windows и Iana.

Тип отклика

Коллекция объектов TimeZoneInformation.

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

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

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')

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

Пример ответа ниже усечен для краткости, чтобы сосредоточиться на формате ответа JSON.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Dateline Standard Time",
      "DisplayName":"(UTC-12:00) International Date Line West"
    },
    {
      "Alias":"Samoa Standard Time",
      "DisplayName":"(UTC+13:00) Samoa"
    },
    {
       "Alias":"UTC-11",
       "DisplayName":"(UTC-11:00) Coordinated Universal Time-11"
    },
    {
      "Alias":"Aleutian Standard Time",
      "DisplayName":"(UTC-10:00) Aleutian Islands"
    }
  ]
}

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

В следующем примере представлен список поддерживаемых временных зон в формате IANA.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')

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

Пример ответа ниже усечен для краткости, чтобы сосредоточиться на формате ответа JSON.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Etc/GMT+12",
      "DisplayName":"Etc/GMT+12"
    },
    {
      "Alias":"US/Samoa",
      "DisplayName":"US/Samoa"
    },
    {
      "Alias":"Etc/GMT+11",
      "DisplayName":"Etc/GMT+11"
    },
    {
      "Alias":"US/Aleutian",
      "DisplayName":"US/Aleutian"
    }
  ]
}

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

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

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

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

GET https://outlook.office.com/api/beta/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/beta/me/MailboxSettings

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/MailboxSettings/AutomaticRepliesSetting

Тип отклика

AutomaticRepliesSetting.

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

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

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/MailboxSettings

Тип отклика

MailboxSettings.

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

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

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

{
    "@odata.context": "https://outlook.office.com/api/beta/$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/beta/$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 (предварительная версия)

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

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

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

POST https://outlook.office.com/api/beta/me/GetMailTips
Обязательный параметр Тип Описание
Параметры текста сообщения
EmailAddresses Коллекция (Строка) Коллекция SMTP-адресов получателей для получения MailTips.
MailTipsOptions MailTipsType Типы подсказок для получения для указанных получателей.

Тип отклика

Коллекция объектов MailTips.

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

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

POST https://outlook.office.com/api/beta/me/GetMailTips
Content-Type: application/json

{
    "EmailAddresses": [
        "danas@contoso.onmicrosoft.com", 
        "fannyd@contoso.onmicrosoft.com"
    ],
    "MailTipsOptions": "AutomaticReplies, MailboxFullStatus"
}

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

Status code: 200 OK

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.MailTips)",
    "value":[
        {
            "EmailAddress":{
                "Name":"",
                "Address":"danas@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":"<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n<div dir=\"ltr\">\r\n<div id=\"x_divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Hi, I am on vacation right now. I'll get back to you after I return.<br>\r\n</p>\r\n</div>\r\n</div>",
                "MessageLanguage":{
                    "Locale":"en-US",
                    "DisplayName":"English (United States)"
                }
            },
            "MailboxFull":false
        },
        {
            "EmailAddress":{
                "Name":"",
                "Address":"fannyd@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":""
            },
            "MailboxFull":false
        }
    ]
}

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

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

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

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

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

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

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

Примечание

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

Тип отклика

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

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

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

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

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

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/messages/{message_id}/attachments/{attachment_id}

Примечание

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

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

Примечание

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

Тип отклика

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

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

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

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

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/beta/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/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=

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

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

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

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$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/beta/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/beta/me/messages/{message_id}/attachments
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string ИД сообщения.
Параметры текста сообщения
@odata.type string #Microsoft.OutlookServices.FileAttachment
Name string Имя вложения.
ContentBytes binary Файл для вложения.

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

Тип отклика

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

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

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

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

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

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

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

Тип отклика

Новый вложенный элемент.

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

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

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

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

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

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

Тип отклика

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

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

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

POST https://outlook.office.com/api/beta/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/beta/$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/beta/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/beta/$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/beta/$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/beta/me/messages/{message_id}/attachments/{attachment_id}
Обязательный параметр Тип Описание
Параметры URL-адреса
message_id string ИД сообщения.
attachment_id string Идентификатор вложения.

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

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

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

Status code: 204

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

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

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

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

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

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

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

Примечание

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

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

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

GET https://outlook.office.com/api/beta/me/MailFolders

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "deleteditems"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "drafts"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "inbox"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "junkemail"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "outbox"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/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,
            "WellKnownName": "sentitems"
        }
    ]
}

Тип отклика

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

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

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

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

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

Получить папку вошедшего пользователя:

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

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

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

Примечание

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

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

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

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

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

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

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/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,
    "WellKnownName": "inbox"
}

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

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

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

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

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/MailFolders
Обязательный параметр Тип Описание
Параметр заголовка
Prefer odata.trackchanges Указывает, что запрос является запросом синхронизации.
Параметры текста сообщения
odata.deltaLink string Маркер, который указывает, когда иерархия папки была синхронизирована в последний раз.

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

Тип отклика

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

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

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

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

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

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

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

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

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

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

{
  "DisplayName": "Company"
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/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,
  "WellKnownName": ""
}

Тип отклика

Новая папка.

Замечания

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

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

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

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

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

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

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

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

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

PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
  "DisplayName": "Business"
}

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

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/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,
  "WellKnownName": ""
}

Тип отклика

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Status code: 204

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

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

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

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

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

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

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

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

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

{
  "DestinationId": "AAMkAGE0MyxQ9AAA="
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/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,
  "WellKnownName": ""
}

Тип отклика

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

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

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

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

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

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

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

POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

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

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/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,
  "WellKnownName": ""
}

Тип отклика

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

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

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

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