Office.Mailbox interface

Предоставляет доступ к объектной модели microsoft Outlook надстройки.

Свойства ключей:

  • diagnostics: Предоставляет диагностические сведения Outlook надстройки.

  • item. Предоставляет методы и свойства для доступа к сообщению или встрече в Outlook надстройки.

  • userProfile. Предоставляет сведения о пользователе в Outlook надстройки.

Комментарии

Минимальный уровень разрешений: Restricted

Применимый режим Outlook: составить или прочитать

Свойства

diagnostics

Предоставляет надстройке Outlook диагностические сведения.

Содержит следующие участники:

  • hostName (строка): строка, представляющая имя хост-приложения. Это должно быть одно из следующих значений: Outlook, OutlookWebApp, OutlookIOS, или OutlookAndroid. Примечание. Значение "Outlook" возвращается для Outlook для настольных клиентов (например, Windows и Mac).

  • hostVersion(строка): строка, представляющая версию хост-приложения или Exchange Server (например, "15.0.468.0"). Если надстройка почты работает в Outlook на настольных компьютерах или мобильных клиентах, свойство возвращает версию hostVersion хост-приложения, Outlook. В Outlook в Интернете свойство возвращает версию Exchange Server.

  • OWAView( MailboxEnums.OWAView или строка): enum (или строка буквальная), которая представляет текущее представление Outlook в Интернете. Если хост-приложение не Outlook в Интернете, доступ к этому свойству приводит к неопределенным результатам. Outlook в Интернете имеет три представления (отображаются, когда экран узкий, — отображаются при расширении экрана и отображаются при ширине экрана), соответствующих ширине экрана и окну, а также количеству столбцов, которые можно OneColumn TwoColumns ThreeColumns отобразить.

Дополнительные сведения находятся в Office. Диагностика.

ewsUrl

Получает URL-адрес конечной точки веб-служб Exchange (EWS) для этой учетной записи электронной почты. Только в режиме чтения.

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

В режиме составить необходимо вызвать saveAsync метод, прежде чем использовать ewsUrl его. У приложения должны быть ReadWriteItem разрешения на вызов saveAsync метода.

Примечание. Этот член не поддерживается в Outlook на iOS или Android.

item

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

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Важно: может быть null, если ваша надстройка поддерживает item закрепление области задач. Сведения о том, как обрабатывать, см. в материале Implement a pinnable task pane in Outlook.

masterCategories

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

restUrl

Возвращает URL-адрес конечной точки REST для этой учетной записи электронной почты.

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

В режиме составить необходимо вызвать saveAsync метод, прежде чем использовать restUrl его. У приложения должны быть ReadWriteItem разрешения на вызов saveAsync метода.

Однако в делегирования или общих сценариях вместо этого следует использовать свойство объекта targetRestUrl SharedProperties (введено в наборе требований 1.8). Дополнительные сведения см. в статье Общие папки и общие почтовые ящики.

userProfile

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

Дополнительные сведения находятся в Office. UserProfile

Методы

addHandlerAsync(eventType, handler, options, callback)

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

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

addHandlerAsync(eventType, handler, callback)

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

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

convertToEwsId(itemId, restVersion)

Преобразовывает идентификатор элемента из формата REST в формат EWS.

Формат идентификаторов, извлекаемых через API REST (например, API Почты Outlook или Microsoft Graph), отличается от формата веб-служб Exchange (EWS). Метод convertToEwsId преобразовывает идентификатор в формате REST в формат EWS.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

convertToLocalClientTime(timeValue)

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

Даты и время, используемые почтовым приложением для клиентов Outlook в Интернете или настольных компьютеров, могут использовать различные часовые пояса. Outlook использует часовой пояс клиентского компьютера; Outlook в Интернете часовой пояс, установленный в центре администрирования Exchange (EAC). Значения даты и времени должны обрабатываться таким образом, чтобы значения, отображаемые в интерфейсе пользователя, всегда согласовывались с часовым поясом, ожидаемым пользователем.

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

convertToRestId(itemId, restVersion)

Преобразовывает идентификатор элемента в формате EWS в формат REST.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

convertToUtcClientTime(input)

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

Метод преобразует словарь с локальной датой и временем в объект с правильными значениями для местной даты convertToUtcClientTime Date и времени.

displayAppointmentForm(itemId)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayAppointmentFormAsync(itemId, options, callback)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayAppointmentFormAsync(itemId, callback)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageForm(itemId)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте элемент displayMessageForm ItemId, который представляет встречу. Используйте метод displayAppointmentForm, чтобы отобразить сведения о существующей встрече, а метод displayNewAppointmentForm— для отображения формы создания встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageFormAsync(itemId, options, callback)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте метод displayMessageForm или метод displayMessageFormAsync с itemId, который представляет встречу. Используйте метод displayAppointmentForm или метод для отображения существующей встречи, а также для отображения формы displayAppointmentFormAsync для создания новой displayNewAppointmentForm displayNewAppointmentFormAsync встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageFormAsync(itemId, callback)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте метод displayMessageForm или метод displayMessageFormAsync с itemId, который представляет встречу. Используйте метод displayAppointmentForm или метод для отображения существующей встречи, а также для отображения формы displayAppointmentFormAsync для создания новой displayNewAppointmentForm displayNewAppointmentFormAsync встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentForm(parameters)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentForm открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentFormAsync(parameters, options, callback)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentFormAsync открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentFormAsync(parameters, callback)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentFormAsync открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewMessageForm(parameters)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

displayNewMessageFormAsync(parameters, options, callback)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

displayNewMessageFormAsync(parameters, callback)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

getCallbackTokenAsync(options, callback)

Получает строку с маркером, используемым для вызова API REST или Exchange веб-служб (EWS).

Метод getCallbackTokenAsync совершает асинхронный вызов, чтобы получить непрозрачный маркер с сервера Exchange Server, на котором размещен почтовый ящик пользователя. Время существования маркера обратного вызова составляет 5 минут.

Маркер возвращается в качестве строки в asyncResult.value свойстве.

Вызов метода getCallbackTokenAsync в режиме чтения требует минимального уровня разрешений ReadItem.

Вызов метода getCallbackTokenAsync в режиме составить требует, чтобы вы сохранили элемент. Метод saveAsync требует минимального уровня разрешений ReadWriteItem.

Важно: Рекомендации по делегированию или общим сценариям см. в статье Общие папки и общие почтовые ящики.

Маркеры REST

При запросе маркера REST (options.isRest = true), в результате маркер не будет работать для проверки подлинности вызовов EWS. Область действия маркера будет ограничена доступом только для чтения к текущему элементу и его вложениям, если в манифесте надстройки не указано разрешение ReadWriteMailbox. Если указано разрешение ReadWriteMailbox, полученный маркер предоставит доступ на чтение и запись к почте, календарю и контактам, включая возможность отправки почты.

С помощью свойства restUrl надстройка должна определить правильный URL-адрес для вызовов REST API.

Этот API работает для следующих областей:

  • Mail.ReadWrite

  • Mail.Send

  • Calendars.ReadWrite

  • Contacts.ReadWrite

Маркеры EWS

При запросе маркера EWS (options.isRest = false), в результате маркер не будет работать для проверки подлинности вызовов API REST. Область действия маркера будет ограничена доступом к текущему элементу.

С помощью свойства ewsUrl надстройка должна определить правильный URL-адрес для вызовов EWS.

Вы можете передать сторонней системе маркер и идентификатор вложения или элемента. Сторонняя система использует этот маркер как маркер авторизации, чтобы вызвать операцию GetAttachment или GetItem веб-служб Exchange для возврата вложения или элемента. Например, можно создать удаленную службу для получения вложений из выбранного элемента.

Примечание. Рекомендуется, чтобы надстройки по возможности использовали API REST вместо Exchange веб-служб.

getCallbackTokenAsync(callback, userContext)

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

Метод getCallbackTokenAsync совершает асинхронный вызов, чтобы получить непрозрачный маркер с сервера Exchange Server, на котором размещен почтовый ящик пользователя. Время существования маркера обратного вызова составляет 5 минут.

Маркер возвращается в качестве строки в asyncResult.value свойстве.

Вы можете передать сторонней системе маркер и идентификатор вложения или элемента. Сторонняя система использует этот токен как токен авторизации, чтобы вызвать операцию GetAttachment или GetItem веб-служб Exchange для возврата вложения или элемента. Например, можно создать удаленную службу для получения вложений из выбранного элемента.

Вызов метода getCallbackTokenAsync в режиме чтения требует минимального уровня разрешений ReadItem.

Вызов метода getCallbackTokenAsync в режиме составить требует, чтобы вы сохранили элемент. Метод saveAsync требует минимального уровня разрешений ReadWriteItem.

Важно: Рекомендации по делегированию или общим сценариям см. в статье Общие папки и общие почтовые ящики.

getUserIdentityTokenAsync(callback, userContext)

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

Маркер возвращается в качестве строки в asyncResult.value свойстве.

makeEwsRequestAsync(data, callback, userContext)

Делает асинхронный запрос в службу Exchange веб-служб (EWS) на Exchange сервере, на котором размещен почтовый ящик пользователя.

В таких случаях надстройка должна использовать REST API для доступа к почтовому ящику пользователя.

Метод makeEwsRequestAsync отправляет запрос EWS от имени надстройки в Exchange.

С помощью метода makeEwsRequestAsync невозможно запрашивать элементы, связанные с папкой.

В XML-запросе необходимо указать кодификат UTF-8: \<?xml version="1.0" encoding="utf-8"?\>.

Ваша надстройка должна иметь ReadWriteMailbox разрешение на использование makeEwsRequestAsync метода. Сведения об использовании разрешений и операций EWS, которые можно вызвать с помощью метода, см. в статью Укажите разрешения на доступ к почтовому ящику надстройки ReadWriteMailbox makeEwsRequestAsync для почты.

Результат XML вызова EWS указывается в виде строки в свойстве asyncResult.value. Если размер результата превышает 1 МБ, возвращается сообщение об ошибке.

Примечание. Этот метод не поддерживается в следующих сценариях:

  • В Outlook на iOS или Android.

  • При загрузке надстройки в почтовый ящик Gmail.

Примечание. Администратор сервера должен установить в каталоге Client Access Server EWS, чтобы включить метод для запросов OAuthAuthentication true на makeEwsRequestAsync EWS.

Различия версий

При использовании метода в почтовых приложениях, работающих в Outlook версиях раньше версии makeEwsRequestAsync 15.0.4535.1004, необходимо установить значение кодировочная кодировочная версия isO-8859-1.

<?xml version="1.0" encoding="iso-8859-1"?>

Значение кодировки не нужно указывать, если почтовое приложение выполняется в Outlook в Интернете. Вы можете определить, работает ли ваше почтовое приложение в Outlook или Outlook в Интернете с помощью mailbox.diagnostics.hostName свойства. Вы можете определить, какая Outlook запущена с помощью mailbox.diagnostics.hostVersion свойства.

removeHandlerAsync(eventType, options, callback)

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

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

removeHandlerAsync(eventType, callback)

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

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

Сведения о свойстве

diagnostics

Предоставляет надстройке Outlook диагностические сведения.

Содержит следующие участники:

  • hostName (строка): строка, представляющая имя хост-приложения. Это должно быть одно из следующих значений: Outlook, OutlookWebApp, OutlookIOS, или OutlookAndroid. Примечание. Значение "Outlook" возвращается для Outlook для настольных клиентов (например, Windows и Mac).

  • hostVersion(строка): строка, представляющая версию хост-приложения или Exchange Server (например, "15.0.468.0"). Если надстройка почты работает в Outlook на настольных компьютерах или мобильных клиентах, свойство возвращает версию hostVersion хост-приложения, Outlook. В Outlook в Интернете свойство возвращает версию Exchange Server.

  • OWAView( MailboxEnums.OWAView или строка): enum (или строка буквальная), которая представляет текущее представление Outlook в Интернете. Если хост-приложение не Outlook в Интернете, доступ к этому свойству приводит к неопределенным результатам. Outlook в Интернете имеет три представления (отображаются, когда экран узкий, — отображаются при расширении экрана и отображаются при ширине экрана), соответствующих ширине экрана и окну, а также количеству столбцов, которые можно OneColumn TwoColumns ThreeColumns отобразить.

Дополнительные сведения находятся в Office. Диагностика.

diagnostics: Diagnostics;

Значение свойства

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

ewsUrl

Получает URL-адрес конечной точки веб-служб Exchange (EWS) для этой учетной записи электронной почты. Только в режиме чтения.

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

В режиме составить необходимо вызвать saveAsync метод, прежде чем использовать ewsUrl его. У приложения должны быть ReadWriteItem разрешения на вызов saveAsync метода.

Примечание. Этот член не поддерживается в Outlook на iOS или Android.

ewsUrl: string;

Значение свойства

string

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

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

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
var ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

var ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

item

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

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Важно: может быть null, если ваша надстройка поддерживает item закрепление области задач. Сведения о том, как обрабатывать, см. в материале Implement a pinnable task pane in Outlook.

item?: Item & ItemCompose & ItemRead & Message & MessageCompose & MessageRead & Appointment & AppointmentCompose & AppointmentRead;

Значение свойства

masterCategories

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

masterCategories: MasterCategories;

Значение свойства

Комментарии

[Набор API: почтовый ящик 1.8 ]

Минимальный уровень разрешений: ReadWriteMailbox

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-master-categories.yaml
Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    var categories = asyncResult.value;
    if (categories && categories.length > 0) {
      console.log("Master categories:");
      console.log(JSON.stringify(categories));
    } else {
      console.log("There are no categories in the master list.");
    }
  } else {
    console.error(asyncResult.error);
  }
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-master-categories.yaml
var masterCategoriesToAdd = [
  {
    displayName: "TestCategory",
    color: Office.MailboxEnums.CategoryColor.Preset0
  }
];

Office.context.mailbox.masterCategories.addAsync(masterCategoriesToAdd, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Successfully added categories to master list");
  } else {
    console.log("masterCategories.addAsync call failed with error: " + asyncResult.error.message);
  }
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-master-categories.yaml
var masterCategoriesToRemove = ["TestCategory"];

Office.context.mailbox.masterCategories.removeAsync(masterCategoriesToRemove, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Successfully removed categories from master list");
  } else {
    console.log("masterCategories.removeAsync call failed with error: " + asyncResult.error.message);
  }
});

restUrl

Возвращает URL-адрес конечной точки REST для этой учетной записи электронной почты.

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

В режиме составить необходимо вызвать saveAsync метод, прежде чем использовать restUrl его. У приложения должны быть ReadWriteItem разрешения на вызов saveAsync метода.

Однако в делегирования или общих сценариях вместо этого следует использовать свойство объекта targetRestUrl SharedProperties (введено в наборе требований 1.8). Дополнительные сведения см. в статье Общие папки и общие почтовые ящики.

restUrl: string;

Значение свойства

string

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

С помощью значения restUrl можно выполнять вызовы REST API для почтового ящика пользователя.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    var ewsId = Office.context.mailbox.item.itemId;
    var token = result.value;
    var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    var getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    var xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
var ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

var ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

userProfile

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

Дополнительные сведения находятся в Office. UserProfile

userProfile: UserProfile;

Значение свойства

Сведения о методе

addHandlerAsync(eventType, handler, options, callback)

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

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

addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно вызвать обработчик.

handler

any

Функция для обработки события. Функция должна принимать один параметр, представляющий собой объектный литерал. Свойство type параметра будет соответствовать eventType параметру addHandlerAsync.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

Office.initialize = function (reason) {
    $(document).ready(function () {
        Office.context.mailbox.addHandlerAsync(
            Office.EventType.ItemChanged,
            loadNewItem,
            function (result) {
                if (result.status === Office.AsyncResultStatus.Failed) {
                    // Handle error.
                }
            });
    });
};

function loadNewItem(eventArgs) {
    var item = Office.context.mailbox.item;

    // Check that item is not null.
    if (item !== null) {
        // Work with item, e.g., define and call function that
        // loads the properties of the newly selected item.
        loadProps(item);
    }
}

addHandlerAsync(eventType, handler, callback)

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

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

addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно вызвать обработчик.

handler

any

Функция для обработки события. Функция должна принимать один параметр, представляющий собой объектный литерал. Свойство type параметра будет соответствовать eventType параметру addHandlerAsync.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

convertToEwsId(itemId, restVersion)

Преобразовывает идентификатор элемента из формата REST в формат EWS.

Формат идентификаторов, извлекаемых через API REST (например, API Почты Outlook или Microsoft Graph), отличается от формата веб-служб Exchange (EWS). Метод convertToEwsId преобразовывает идентификатор в формате REST в формат EWS.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

convertToEwsId(itemId: string, restVersion: MailboxEnums.RestVersion | string): string;

Параметры

itemId

string

ID элемента, отформатированный для API Outlook REST.

restVersion

Office.MailboxEnums.RestVersion | string

Значение, определяющее версию REST API для Outlook, которая используется для извлечения идентификатора элемента.

Возвращаемое значение

string

Комментарии

[Набор API: почтовый ящик 1.3 ]

Минимальный уровень разрешений: Restricted

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
var ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

var ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

convertToLocalClientTime(timeValue)

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

Даты и время, используемые почтовым приложением для клиентов Outlook в Интернете или настольных компьютеров, могут использовать различные часовые пояса. Outlook использует часовой пояс клиентского компьютера; Outlook в Интернете часовой пояс, установленный в центре администрирования Exchange (EAC). Значения даты и времени должны обрабатываться таким образом, чтобы значения, отображаемые в интерфейсе пользователя, всегда согласовывались с часовым поясом, ожидаемым пользователем.

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

convertToLocalClientTime(timeValue: Date): LocalClientTime;

Параметры

timeValue

Date

Объект Date.

Возвращаемое значение

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

convertToRestId(itemId, restVersion)

Преобразовывает идентификатор элемента в формате EWS в формат REST.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

convertToRestId(itemId: string, restVersion: MailboxEnums.RestVersion | string): string;

Параметры

itemId

string

Идентификатор элемента в формате EWS

restVersion

Office.MailboxEnums.RestVersion | string

Значение, определяющее версию REST API для Outlook, с которой будет использоваться преобразованный идентификатор.

Возвращаемое значение

string

Комментарии

[Набор API: почтовый ящик 1.3 ]

Минимальный уровень разрешений: Restricted

Применимый режим Outlook: составить или прочитать

ID элемента, полученные с помощью EWS или с помощью свойства, используют другой формат, чем формат, используемый API REST itemId (например, API почты Outlook или Microsoft Graph. Метод convertToRestId преобразовывает идентификатор в формате EWS в формат REST.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    var ewsId = Office.context.mailbox.item.itemId;
    var token = result.value;
    var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    var getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    var xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
var ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

var ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

convertToUtcClientTime(input)

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

Метод преобразует словарь с локальной датой и временем в объект с правильными значениями для местной даты convertToUtcClientTime Date и времени.

convertToUtcClientTime(input: LocalClientTime): Date;

Параметры

input
Office.LocalClientTime

Значение локального времени для преобразования.

Возвращаемое значение

Date

Объект Date со временем в формате UTC.

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

// Represents 3:37 PM PDT on Monday, August 26, 2019.
var input = {
    date: 26,
    hours: 15,
    milliseconds: 2,
    minutes: 37,
    month: 7,
    seconds: 2,
    timezoneOffset: -420,
    year: 2019
};

// result should be a Date object.
var result = Office.context.mailbox.convertToUtcClientTime(input);

// Output should be "2019-08-26T22:37:02.002Z".
console.log(result.toISOString());

displayAppointmentForm(itemId)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayAppointmentForm(itemId: string): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующей встречи в календаре.

Возвращаемое значение

void

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml
var itemId = $("#itemId").val();
Office.context.mailbox.displayAppointmentForm(itemId);

displayAppointmentFormAsync(itemId, options, callback)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayAppointmentFormAsync(itemId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующей встречи в календаре.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml
var itemId = $("#itemId").val();

// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayAppointmentFormAsync(itemId, function(asyncResult) {
  console.log("Result: " + JSON.stringify(asyncResult));
});

displayAppointmentFormAsync(itemId, callback)

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

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

В Outlook Mac этот метод можно использовать для отображения одной встречи, которая не является частью повторяющейся серии или мастер-назначением повторяющейся серии. Однако вы не можете отобразить экземпляр серии, так как вы не можете получить доступ к свойствам (включая ID элемента) экземпляров повторяющейся серии.

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayAppointmentFormAsync(itemId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующей встречи в календаре.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

displayMessageForm(itemId)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте элемент displayMessageForm ItemId, который представляет встречу. Используйте метод displayAppointmentForm, чтобы отобразить сведения о существующей встрече, а метод displayNewAppointmentForm— для отображения формы создания встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageForm(itemId: string): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующего сообщения.

Возвращаемое значение

void

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml
var itemId = $("#itemId").val();
Office.context.mailbox.displayMessageForm(itemId);

displayMessageFormAsync(itemId, options, callback)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте метод displayMessageForm или метод displayMessageFormAsync с itemId, который представляет встречу. Используйте метод displayAppointmentForm или метод для отображения существующей встречи, а также для отображения формы displayAppointmentFormAsync для создания новой displayNewAppointmentForm displayNewAppointmentFormAsync встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageFormAsync(itemId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующего сообщения.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml
var itemId = $("#itemId").val();

// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayMessageFormAsync(itemId, function (asyncResult) {
 console.log("Result: " + JSON.stringify(asyncResult));
});

displayMessageFormAsync(itemId, callback)

Отображает имеющееся сообщение.

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

В Outlook в Интернете этот метод открывает указанную форму только в том случае, если тело формы меньше или равно символам 32K.

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

Не используйте метод displayMessageForm или метод displayMessageFormAsync с itemId, который представляет встречу. Используйте метод displayAppointmentForm или метод для отображения существующей встречи, а также для отображения формы displayAppointmentFormAsync для создания новой displayNewAppointmentForm displayNewAppointmentFormAsync встречи.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayMessageFormAsync(itemId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

itemId

string

Идентификатор веб-служб Exchange для существующего сообщения.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

displayNewAppointmentForm(parameters)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentForm открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentForm(parameters: AppointmentForm): void;

Параметры

parameters
Office.AppointmentForm

Описание AppointmentForm нового назначения. Все свойства необязательны.

Возвращаемое значение

void

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml
var start = new Date();
var end = new Date();
end.setHours(start.getHours() + 1);

Office.context.mailbox.displayNewAppointmentForm({
  requiredAttendees: ["bob@contoso.com"],
  optionalAttendees: ["sam@contoso.com"],
  start: start,
  end: end,
  location: "Home",
  subject: "meeting",
  resources: ["projector@contoso.com"],
  body: "Hello World!"
});

displayNewAppointmentFormAsync(parameters, options, callback)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentFormAsync открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentFormAsync(parameters: AppointmentForm, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

parameters
Office.AppointmentForm

Описание AppointmentForm нового назначения. Все свойства необязательны.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml
var start = new Date();
var end = new Date();
end.setHours(start.getHours() + 1);

// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new appointment form has been created.
Office.context.mailbox.displayNewAppointmentFormAsync(
  {
    requiredAttendees: ["bob@contoso.com"],
    optionalAttendees: ["sam@contoso.com"],
    start: start,
    end: end,
    location: "Home",
    subject: "meeting",
    resources: ["projector@contoso.com"],
    body: "Hello World!"
  },
  function(asyncResult) {
    console.log(JSON.stringify(asyncResult));
  }
);

displayNewAppointmentFormAsync(parameters, callback)

Отображает форму для создания новой встречи в календаре.

Метод displayNewAppointmentFormAsync открывает форму, в которой пользователь может создать встречу или собрание. Если параметры заданы, поля формы встречи автоматически заполняются их содержимым.

В Outlook в Интернете этот метод всегда отображает форму с полем участников. Если вы не укажете участников в качестве входных аргументов, метод отображает форму с кнопкой Сохранить. Если вы укажете участников, форма будет включать участников и кнопку Отправить.

В Outlook клиент и Outlook RT, если указать участников или ресурсы вrequiredAttendees, optionalAttendees, или resources параметр, этот метод отображает форму собрания с кнопкой Отправка. Если вы не указываете получателей, этот метод отображает форму встречи с кнопкой Сохранить & закрыть.

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

Примечание. Этот метод не поддерживается в Outlook на iOS или Android.

displayNewAppointmentFormAsync(parameters: AppointmentForm, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

parameters
Office.AppointmentForm

Описание AppointmentForm нового назначения. Все свойства необязательны.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

displayNewMessageForm(parameters)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

displayNewMessageForm(parameters: any): void;

Параметры

parameters

any

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

toRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке To. Массив может включать не более 100 записей.

ccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Cc. Массив может включать не более 100 записей.

bccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Bcc. Массив может включать не более 100 записей.

subjectСтрока, содержащая тему сообщения. Максимальное количество символов в строке — 255.

htmlBody: HTML-текст сообщения. Максимальный размер содержимого сообщения — 32 КБ.

attachments: Массив объектов JSON, которые являются вложениями файлов или элементов.

attachments.type: Указывает тип вложения. Должен быть файл для вложения файла или элемента для вложения элемента.

attachments.nameСтрока с именем вложения длиной до 255 символов.

attachments.url: Используется только в том случае, если для файла установлен тип. Универсальный код ресурса (URI) расположения файла.

attachments.isInline: Используется только в том случае, если для файла установлен тип. Если верно, указывает, что вложение будет отображаться в тексте сообщения и не должно отображаться в списке вложений.

attachments.itemId: Используется только при наборе типа элемента. ID элемента EWS существующей электронной почты, который необходимо прикрепить к новому сообщению. Это строка длиной до 100 символов.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.6 ]

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml
Office.context.mailbox.displayNewMessageForm({
  toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
  ccRecipients: ["sam@contoso.com"],
  subject: "Outlook add-ins are cool!",
  htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
  attachments: [
    {
      type: "file",
      name: "image.png",
      url: "http://www.cutestpaw.com/wp-content/uploads/2011/11/Cute-Black-Dogs-s.jpg",
      isInline: true
    }
  ]
});

displayNewMessageFormAsync(parameters, options, callback)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

displayNewMessageFormAsync(parameters: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

parameters

any

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

toRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке To. Массив может включать не более 100 записей.

ccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Cc. Массив может включать не более 100 записей.

bccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Bcc. Массив может включать не более 100 записей.

subjectСтрока, содержащая тему сообщения. Максимальное количество символов в строке — 255.

htmlBody: HTML-текст сообщения. Максимальный размер содержимого сообщения — 32 КБ.

attachments: Массив объектов JSON, которые являются вложениями файлов или элементов.

attachments.type: Указывает тип вложения. Должен быть файл для вложения файла или элемента для вложения элемента.

attachments.nameСтрока с именем вложения длиной до 255 символов.

attachments.url: Используется только в том случае, если для файла установлен тип. Универсальный код ресурса (URI) расположения файла.

attachments.isInline: Используется только в том случае, если для файла установлен тип. Если верно, указывает, что вложение будет отображаться в тексте сообщения и не должно отображаться в списке вложений.

attachments.itemId: Используется только при наборе типа элемента. ID элемента EWS существующей электронной почты, который необходимо прикрепить к новому сообщению. Это строка длиной до 100 символов.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml
// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new message form has been created.
Office.context.mailbox.displayNewMessageFormAsync(
  {
    toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
    ccRecipients: ["sam@contoso.com"],
    subject: "Outlook add-ins are cool!",
    htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
    attachments: [
      {
        type: "file",
        name: "image.png",
        url: "http://www.cutestpaw.com/wp-content/uploads/2011/11/Cute-Black-Dogs-s.jpg",
        isInline: true
      }
    ]
  },
  function(asyncResult) {
    console.log(JSON.stringify(asyncResult));
  }
);

displayNewMessageFormAsync(parameters, callback)

Отображает форму для создания нового сообщения.

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

Если параметры превышают указанные ограничения размера или если указано неизвестное имя параметра, вызывается исключение.

displayNewMessageFormAsync(parameters: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

parameters

any

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

toRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке To. Массив может включать не более 100 записей.

ccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Cc. Массив может включать не более 100 записей.

bccRecipients: Массив строк, содержащих адреса электронной почты или массив, содержащий объект EmailAddressDetails для каждого из получателей в строке Bcc. Массив может включать не более 100 записей.

subjectСтрока, содержащая тему сообщения. Максимальное количество символов в строке — 255.

htmlBody: HTML-текст сообщения. Максимальный размер содержимого сообщения — 32 КБ.

attachments: Массив объектов JSON, которые являются вложениями файлов или элементов.

attachments.type: Указывает тип вложения. Должен быть файл для вложения файла или элемента для вложения элемента.

attachments.nameСтрока с именем вложения длиной до 255 символов.

attachments.url: Используется только в том случае, если для файла установлен тип. Универсальный код ресурса (URI) расположения файла.

attachments.isInline: Используется только в том случае, если для файла установлен тип. Если верно, указывает, что вложение будет отображаться в тексте сообщения и не должно отображаться в списке вложений.

attachments.itemId: Используется только при наборе типа элемента. ID элемента EWS существующей электронной почты, который необходимо прикрепить к новому сообщению. Это строка длиной до 100 символов.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром, asyncResult, который Office.AsyncResult является объектом.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.9 ]

Минимальный уровень разрешений: ReadItem

Применимый Outlook: Чтение

getCallbackTokenAsync(options, callback)

Получает строку с маркером, используемым для вызова API REST или Exchange веб-служб (EWS).

Метод getCallbackTokenAsync совершает асинхронный вызов, чтобы получить непрозрачный маркер с сервера Exchange Server, на котором размещен почтовый ящик пользователя. Время существования маркера обратного вызова составляет 5 минут.

Маркер возвращается в качестве строки в asyncResult.value свойстве.

Вызов метода getCallbackTokenAsync в режиме чтения требует минимального уровня разрешений ReadItem.

Вызов метода getCallbackTokenAsync в режиме составить требует, чтобы вы сохранили элемент. Метод saveAsync требует минимального уровня разрешений ReadWriteItem.

Важно: Рекомендации по делегированию или общим сценариям см. в статье Общие папки и общие почтовые ящики.

Маркеры REST

При запросе маркера REST (options.isRest = true), в результате маркер не будет работать для проверки подлинности вызовов EWS. Область действия маркера будет ограничена доступом только для чтения к текущему элементу и его вложениям, если в манифесте надстройки не указано разрешение ReadWriteMailbox. Если указано разрешение ReadWriteMailbox, полученный маркер предоставит доступ на чтение и запись к почте, календарю и контактам, включая возможность отправки почты.

С помощью свойства restUrl надстройка должна определить правильный URL-адрес для вызовов REST API.

Этот API работает для следующих областей:

  • Mail.ReadWrite

  • Mail.Send

  • Calendars.ReadWrite

  • Contacts.ReadWrite

Маркеры EWS

При запросе маркера EWS (options.isRest = false), в результате маркер не будет работать для проверки подлинности вызовов API REST. Область действия маркера будет ограничена доступом к текущему элементу.

С помощью свойства ewsUrl надстройка должна определить правильный URL-адрес для вызовов EWS.

Вы можете передать сторонней системе маркер и идентификатор вложения или элемента. Сторонняя система использует этот маркер как маркер авторизации, чтобы вызвать операцию GetAttachment или GetItem веб-служб Exchange для возврата вложения или элемента. Например, можно создать удаленную службу для получения вложений из выбранного элемента.

Примечание. Рекомендуется, чтобы надстройки по возможности использовали API REST вместо Exchange веб-служб.

getCallbackTokenAsync(options: Office.AsyncContextOptions & { isRest?: boolean }, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Параметры

options

Office.AsyncContextOptions & { isRest?: boolean }

Объектный литерал, содержащий одно или несколько из указанных ниже свойств. isRest: Определяет, будет ли предоставленный маркер использоваться для Outlook API REST или Exchange веб-служб. Значение по умолчанию: false.. asyncContext. Любые данные состояния, которые передаются асинхронному методу.

callback

(asyncResult: Office.AsyncResult<string>) => void

По завершению метода функция, переданная в параметре callback, называется с одним параметром типа Office.AsyncResult. Маркер возвращается в качестве строки в asyncResult.value свойстве. При наличии ошибки свойства asyncResult.error и asyncResult.diagnostics могут предоставлять дополнительные сведения.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Ошибки:

  • HTTPRequestFailure: Запрос не удалось. Просмотрите объект диагностики для кода ошибки HTTP.

  • InternalServerError: Exchange сервер вернул ошибку. Для получения дополнительных сведений просмотрите объект диагностики.

  • NetworkError. Пользователь больше не подключен к сети. Проверьте сетевое подключение и повторите попытку.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml
Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    var ewsId = Office.context.mailbox.item.itemId;
    var token = result.value;
    var restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    var getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    var xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});

getCallbackTokenAsync(callback, userContext)

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

Метод getCallbackTokenAsync совершает асинхронный вызов, чтобы получить непрозрачный маркер с сервера Exchange Server, на котором размещен почтовый ящик пользователя. Время существования маркера обратного вызова составляет 5 минут.

Маркер возвращается в качестве строки в asyncResult.value свойстве.

Вы можете передать сторонней системе маркер и идентификатор вложения или элемента. Сторонняя система использует этот токен как токен авторизации, чтобы вызвать операцию GetAttachment или GetItem веб-служб Exchange для возврата вложения или элемента. Например, можно создать удаленную службу для получения вложений из выбранного элемента.

Вызов метода getCallbackTokenAsync в режиме чтения требует минимального уровня разрешений ReadItem.

Вызов метода getCallbackTokenAsync в режиме составить требует, чтобы вы сохранили элемент. Метод saveAsync требует минимального уровня разрешений ReadWriteItem.

Важно: Рекомендации по делегированию или общим сценариям см. в статье Общие папки и общие почтовые ящики.

getCallbackTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

По завершению метода функция, переданная в параметре callback, называется с одним параметром типа Office.AsyncResult. Маркер возвращается в качестве строки в asyncResult.value свойстве. При наличии ошибки свойства asyncResult.error и asyncResult.diagnostics могут предоставлять дополнительные сведения.

userContext

any

Необязательное свойство. Данные о состоянии, передаваемые в асинхронный метод.

Возвращаемое значение

void

Комментарии

[Набор API: все режимы чтения поддержки; Поддержка режима Compose в почтовом ящике 1.3 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

Ошибки:

  • HTTPRequestFailure: Запрос не удалось. Просмотрите объект диагностики для кода ошибки HTTP.

  • InternalServerError: Exchange сервер вернул ошибку. Для получения дополнительных сведений просмотрите объект диагностики.

  • NetworkError. Пользователь больше не подключен к сети. Проверьте сетевое подключение и повторите попытку.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/user-callback-token.yaml
Office.context.mailbox.getCallbackTokenAsync(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(`Token retrieval failed with message: ${result.error.message}`);
    } else {
        console.log(result.value);
    }
});

getUserIdentityTokenAsync(callback, userContext)

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

Маркер возвращается в качестве строки в asyncResult.value свойстве.

getUserIdentityTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Параметры

callback

(asyncResult: Office.AsyncResult<string>) => void

По завершению метода функция, переданная в параметре callback, называется с одним параметром типа Office.AsyncResult. Маркер возвращается в качестве строки в asyncResult.value свойстве. При наличии ошибки свойства asyncResult.error и asyncResult.diagnostics могут предоставлять дополнительные сведения.

userContext

any

Необязательное свойство. Данные о состоянии, передаваемые в асинхронный метод.

Возвращаемое значение

void

Комментарии

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

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

Ошибки:

  • HTTPRequestFailure: Запрос не удалось. Просмотрите объект диагностики для кода ошибки HTTP.

  • InternalServerError: Exchange сервер вернул ошибку. Для получения дополнительных сведений просмотрите объект диагностики.

  • NetworkError. Пользователь больше не подключен к сети. Проверьте сетевое подключение и повторите попытку.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/user-identity-token.yaml
Office.context.mailbox.getUserIdentityTokenAsync(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(`Token retrieval failed with message: ${result.error.message}`);
    } else {
        console.log(result.value);
    }
});

makeEwsRequestAsync(data, callback, userContext)

Делает асинхронный запрос в службу Exchange веб-служб (EWS) на Exchange сервере, на котором размещен почтовый ящик пользователя.

В таких случаях надстройка должна использовать REST API для доступа к почтовому ящику пользователя.

Метод makeEwsRequestAsync отправляет запрос EWS от имени надстройки в Exchange.

С помощью метода makeEwsRequestAsync невозможно запрашивать элементы, связанные с папкой.

В XML-запросе необходимо указать кодификат UTF-8: \<?xml version="1.0" encoding="utf-8"?\>.

Ваша надстройка должна иметь ReadWriteMailbox разрешение на использование makeEwsRequestAsync метода. Сведения об использовании разрешений и операций EWS, которые можно вызвать с помощью метода, см. в статью Укажите разрешения на доступ к почтовому ящику надстройки ReadWriteMailbox makeEwsRequestAsync для почты.

Результат XML вызова EWS указывается в виде строки в свойстве asyncResult.value. Если размер результата превышает 1 МБ, возвращается сообщение об ошибке.

Примечание. Этот метод не поддерживается в следующих сценариях:

  • В Outlook на iOS или Android.

  • При загрузке надстройки в почтовый ящик Gmail.

Примечание. Администратор сервера должен установить в каталоге Client Access Server EWS, чтобы включить метод для запросов OAuthAuthentication true на makeEwsRequestAsync EWS.

Различия версий

При использовании метода в почтовых приложениях, работающих в Outlook версиях раньше версии makeEwsRequestAsync 15.0.4535.1004, необходимо установить значение кодировочная кодировочная версия isO-8859-1.

<?xml version="1.0" encoding="iso-8859-1"?>

Значение кодировки не нужно указывать, если почтовое приложение выполняется в Outlook в Интернете. Вы можете определить, работает ли ваше почтовое приложение в Outlook или Outlook в Интернете с помощью mailbox.diagnostics.hostName свойства. Вы можете определить, какая Outlook запущена с помощью mailbox.diagnostics.hostVersion свойства.

makeEwsRequestAsync(data: any, callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;

Параметры

data

any

Запрос EWS.

callback

(asyncResult: Office.AsyncResult<string>) => void

По завершению метода функция, переданная в параметре callback, называется с одним параметром типа Office.AsyncResult. Свойством результата является XML запроса value EWS, предоставленного в качестве строки. Если размер результата превышает 1 МБ, возвращается сообщение об ошибке.

userContext

any

Необязательное свойство. Данные о состоянии, передаваемые в асинхронный метод.

Возвращаемое значение

void

Комментарии

Минимальный уровень разрешений: ReadWriteMailbox

Применимый режим Outlook: составить или прочитать

Примеры

function getSubjectRequest(id) {
    // Return a GetItem operation request for the subject of the specified item.
    var request =
        '<?xml version="1.0" encoding="utf-8"?>' +
        '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
        '               xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
        '               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
        '               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
        '  <soap:Header>' +
        '    <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
        '  </soap:Header>' +
        '  <soap:Body>' +
        '    <GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">' +
        '      <ItemShape>' +
        '        <t:BaseShape>IdOnly</t:BaseShape>' +
        '        <t:AdditionalProperties>' +
        '            <t:FieldURI FieldURI="item:Subject"/>' +
        '        </t:AdditionalProperties>' +
        '      </ItemShape>' +
        '      <ItemIds><t:ItemId Id="' + id + '"/></ItemIds>' +
        '    </GetItem>' +
        '  </soap:Body>' +
        '</soap:Envelope>';

    return request;
}

function sendRequest() {
    // Create a local variable that contains the mailbox.
    Office.context.mailbox.makeEwsRequestAsync(
        getSubjectRequest(mailbox.item.itemId), callback);
}

function callback(asyncResult)  {
    var result = asyncResult.value;
    var context = asyncResult.asyncContext;

    // Process the returned response here.
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/make-ews-request-async.yaml
var ewsId = Office.context.mailbox.item.itemId;
var request = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
    '  <soap:Header><t:RequestServerVersion Version="Exchange2013" /></soap:Header>' +
    '  <soap:Body>' +
    '    <m:GetItem>' +
    '      <m:ItemShape>' +
    '        <t:BaseShape>IdOnly</t:BaseShape>' +
    '      </m:ItemShape >' +
    '      <m:ItemIds>' +
    '        <t:ItemId Id="' + ewsId + '" />' +
    '      </m:ItemIds>' +
    '    </m:GetItem>' +
    '  </soap:Body>' +
    '</soap:Envelope>';

Office.context.mailbox.makeEwsRequestAsync(request, function (result) {
    console.log(result);
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/send-message-using-make-ews-request-async.yaml
var request = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
    '  <soap:Header><t:RequestServerVersion Version="Exchange2010" /></soap:Header>'+
    '  <soap:Body>'+
    '    <m:CreateItem MessageDisposition="SendAndSaveCopy">'+
    '      <m:SavedItemFolderId><t:DistinguishedFolderId Id="sentitems" /></m:SavedItemFolderId>'+
    '      <m:Items>'+
    '        <t:Message>'+
    '          <t:Subject>Hello, Outlook!</t:Subject>'+
    '          <t:Body BodyType="HTML">This message was sent from a ScriptLab code sample, used from ' + Office.context.mailbox.diagnostics.hostName + ', version ' + Office.context.mailbox.diagnostics.hostVersion + '!</t:Body>'+
    '          <t:ToRecipients>'+
    '            <t:Mailbox><t:EmailAddress>' + Office.context.mailbox.userProfile.emailAddress + '</t:EmailAddress></t:Mailbox>'+
    '          </t:ToRecipients>'+
    '        </t:Message>'+
    '      </m:Items>'+
    '    </m:CreateItem>'+
    '  </soap:Body>'+
    '</soap:Envelope>';

Office.context.mailbox.makeEwsRequestAsync(request, function (result) {
    console.log(result);
});

removeHandlerAsync(eventType, options, callback)

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

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

removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно отменить обработчик.

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать

removeHandlerAsync(eventType, callback)

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

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

removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Параметры

eventType

Office.EventType | string

Событие, которое должно отменить обработчик.

callback

(asyncResult: Office.AsyncResult<void>) => void

Необязательное свойство. По завершению метода функция, переданная в параметре, называется callback с одним параметром типа Office.AsyncResult.

Возвращаемое значение

void

Комментарии

[Набор API: почтовый ящик 1.5 ]

Минимальный уровень разрешений: ReadItem

Применимый режим Outlook: составить или прочитать