Office.AppointmentRead interface

Режим участника встречи Office.context.mailbox.item.

Важно! Это внутренний объект Outlook, который не предоставляется напрямую через существующие интерфейсы. Этот режим следует рассматривать как режим Office.context.mailbox.item. Дополнительные сведения см. на странице Объектная модель .

Родительские интерфейсы:

Extends

Свойства

attachments

Возвращает вложения элемента в виде массива.

body

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

dateTimeCreated

Получает дату и время создания элемента.

dateTimeModified

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

end

Возвращает дату и время окончания встречи.

Свойство end представляет собой объект, выраженный Date в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime преобразования end значения свойства в локальные значения даты и времени клиента.

Если вы задаете время окончания с помощью метода Time.setAsync, необходимо использовать метод convertToUtcClientTime для преобразования местного времени на клиенте в формат UTC для сервера.

itemClass

Возвращает класс элементов веб-служб Exchange выбранной встречи.

Возвращает для IPM.Appointment неповторяющихся встреч и IPM.Appointment.Occurrence для повторяющихся встреч.

itemId

Возвращает идентификатор элемента веб-служб Exchange для текущего элемента.

Свойство itemId недоступно в режиме создания. Если идентификатор элемента является обязательным, saveAsync метод можно использовать для сохранения элемента в хранилище, что вернет идентификатор элемента в asyncResult.value параметре функции обратного вызова.

Примечание. Идентификатор, возвращаемый свойством itemId , совпадает с идентификатором элемента веб-служб Exchange. Свойство itemId не совпадает с идентификатором записи Outlook, а также идентификатором, который используется REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId. Дополнительные сведения см. в разделе Использование REST API Outlook из надстройки Outlook.

itemType

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

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

location

Получает место встречи.

Свойство location возвращает строку, содержащую сведения о месте встречи.

normalizedSubject

Возвращает тему элемента со всеми удаленными префиксами (включая RE: и FWD:).

Свойство normalizedSubject получает тему элемента с любыми стандартными префиксами (например, RE: и FW:), которые добавляются программами электронной почты. Для получения темы элемента с неизмененными префиксами используйте свойство subject.

notificationMessages

Получает сообщения уведомления для элемента.

optionalAttendees

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

Свойство optionalAttendees возвращает массив, содержащий объект EmailAddressDetails для каждого необязательного участника собрания. Максимальное число возвращенных участников зависит от клиента Outlook.

  • Windows: 500 участников

  • Android, классический пользовательский интерфейс Mac, iOS: 100 участников

  • Новый пользовательский интерфейс Mac, веб-браузер: нет ограничений

organizer

Возвращает свойства электронной почты организатора собрания.

requiredAttendees

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

Свойство requiredAttendees возвращает массив, содержащий объект EmailAddressDetails для каждого обязательного участника собрания. Максимальное число возвращенных участников зависит от клиента Outlook.

  • Windows: 500 участников

  • Android, классический пользовательский интерфейс Mac, iOS: 100 участников

  • Новый пользовательский интерфейс Mac, веб-браузер: нет ограничений

start

Возвращает дату и время начала встречи.

Свойство start представляет собой объект, выраженный Date в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime преобразования значения в локальные дату и время клиента.

subject

Возвращает описание, отображающееся в поле темы элемента.

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

Свойство subject возвращает строку. Используйте свойство , normalizedSubject чтобы получить субъект без всех начальных префиксов, таких как RE: и FW:.

Методы

displayReplyAllForm(formData)

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

displayReplyForm(formData)

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

getEntities()

Получает сущности, обнаруженные в теле выбранного элемента.

getEntitiesByType(entityType)

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

getFilteredEntitiesByName(name)

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

getRegExMatches()

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

getRegExMatchesByName(name)

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

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища.

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

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

attachments

Возвращает вложения элемента в виде массива.

attachments: AttachmentDetails[];

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

Комментарии

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

Применимый режим Outlook: участник встречи

Примечание. Некоторые типы файлов блокируются Outlook из-за потенциальных проблем с безопасностью и поэтому не возвращаются. Дополнительные сведения см. в разделе Заблокированные вложения в Outlook.

Примеры

// The following code builds an HTML string with details of all attachments on the current item.
const item = Office.context.mailbox.item;
let outputString = "";

if (item.attachments.length > 0) {
    for (let i = 0 ; i < item.attachments.length ; i++) {
        const attachment = item.attachments[i];
        outputString += "<BR>" + i + ". Name: ";
        outputString += attachment.name;
        outputString += "<BR>ID: " + attachment.id;
        outputString += "<BR>contentType: " + attachment.contentType;
        outputString += "<BR>size: " + attachment.size;
        outputString += "<BR>attachmentType: " + attachment.attachmentType;
        outputString += "<BR>isInline: " + attachment.isInline;
    }
}

console.log(outputString);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachments-read.yaml

const attachments = Office.context.mailbox.item.attachments;
console.log(attachments);

body

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

body: Body;

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

Комментарии

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

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

Применимый режим Outlook: участник встречи

Примеры

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

dateTimeCreated

Получает дату и время создания элемента.

dateTimeCreated: Date;

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

Date

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-created-read.yaml

console.log(`Creation date and time: ${Office.context.mailbox.item.dateTimeCreated}`);

dateTimeModified

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

dateTimeModified: Date;

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

Date

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно! Это свойство не поддерживается в Outlook для Android или iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-modified-read.yaml

console.log(`Date and time item last modified: ${Office.context.mailbox.item.dateTimeModified}`);

end

Возвращает дату и время окончания встречи.

Свойство end представляет собой объект, выраженный Date в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime преобразования end значения свойства в локальные значения даты и времени клиента.

Если вы задаете время окончания с помощью метода Time.setAsync, необходимо использовать метод convertToUtcClientTime для преобразования местного времени на клиенте в формат UTC для сервера.

end: Date;

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

Date

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-end-read.yaml

console.log(`Appointment ends: ${Office.context.mailbox.item.end}`);

itemClass

Возвращает класс элементов веб-служб Exchange выбранной встречи.

Возвращает для IPM.Appointment неповторяющихся встреч и IPM.Appointment.Occurrence для повторяющихся встреч.

itemClass: string;

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

string

Комментарии

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

Применимый режим Outlook: участник встречи

Важно! Можно создавать пользовательские классы, расширяющие класс элементов по умолчанию. Например, IPM.Appointment.Contoso.

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-read.yaml

console.log(`Item class: ${Office.context.mailbox.item.itemClass}`);

itemId

Возвращает идентификатор элемента веб-служб Exchange для текущего элемента.

Свойство itemId недоступно в режиме создания. Если идентификатор элемента является обязательным, saveAsync метод можно использовать для сохранения элемента в хранилище, что вернет идентификатор элемента в asyncResult.value параметре функции обратного вызова.

Примечание. Идентификатор, возвращаемый свойством itemId , совпадает с идентификатором элемента веб-служб Exchange. Свойство itemId не совпадает с идентификатором записи Outlook, а также идентификатором, который используется REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью Office.context.mailbox.convertToRestId. Дополнительные сведения см. в разделе Использование REST API Outlook из надстройки Outlook.

itemId: string;

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

string

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// The following code checks for the presence of an item
// identifier. If the `itemId` property returns `null` or
// `undefined`, it saves the item to the store and gets the
// item identifier from the asynchronous result.
// **Important**: `saveAsync` was introduced with requirement set 1.3
// so you can't get the `itemId` in Compose mode in earlier sets.
let itemId = Office.context.mailbox.item.itemId;
if (itemId === null || itemId == undefined) {
    Office.context.mailbox.item.saveAsync(function(result) {
        itemId = result.value;
    });
}

itemType

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

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

itemType: MailboxEnums.ItemType | string;

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

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml

const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
    case Office.MailboxEnums.ItemType.Appointment:
        console.log(`Current item is an ${itemType}.`);
        break;
    case Office.MailboxEnums.ItemType.Message:
        console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
        break;
}

location

Получает место встречи.

Свойство location возвращает строку, содержащую сведения о месте встречи.

location: string;

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

string

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

const location = Office.context.mailbox.item.location;
console.log("location: " + location);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-location-read.yaml

console.log(`Appointment location: ${Office.context.mailbox.item.location}`);

normalizedSubject

Возвращает тему элемента со всеми удаленными префиксами (включая RE: и FWD:).

Свойство normalizedSubject получает тему элемента с любыми стандартными префиксами (например, RE: и FW:), которые добавляются программами электронной почты. Для получения темы элемента с неизмененными префиксами используйте свойство subject.

normalizedSubject: string;

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

string

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-normalized-subject-read.yaml

console.log(`Normalized subject: ${Office.context.mailbox.item.normalizedSubject}`);

notificationMessages

Получает сообщения уведомления для элемента.

notificationMessages: NotificationMessages;

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

Комментарии

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

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml

// Adds a progress indicator to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
    message: "Progress indicator with id = " + id
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Non-persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: false
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: true
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }

  console.log(asyncResult.value);
});

...

// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.replaceAsync(
  id,
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Notification message with id = " + id + " has been replaced with an informational message.",
    icon: "icon2",
    persistent: false
  },
  handleResult);

...

// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);

optionalAttendees

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

Свойство optionalAttendees возвращает массив, содержащий объект EmailAddressDetails для каждого необязательного участника собрания. Максимальное число возвращенных участников зависит от клиента Outlook.

  • Windows: 500 участников

  • Android, классический пользовательский интерфейс Mac, iOS: 100 участников

  • Новый пользовательский интерфейс Mac, веб-браузер: нет ограничений

optionalAttendees: EmailAddressDetails[];

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

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-optional-attendees-appointment-attendee.yaml

const apptOptionalAttendees = Office.context.mailbox.item.optionalAttendees;
console.log("Optional attendees:");
for (let i = 0; i < apptOptionalAttendees.length; i++) {
  console.log(
    apptOptionalAttendees[i].displayName +
      " (" +
      apptOptionalAttendees[i].emailAddress +
      ") - response: " +
      apptOptionalAttendees[i].appointmentResponse
  );
}

organizer

Возвращает свойства электронной почты организатора собрания.

organizer: EmailAddressDetails;

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

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-organizer-appointment-attendee.yaml

const apptOrganizer = Office.context.mailbox.item.organizer;
console.log("Organizer: " + apptOrganizer.displayName + " (" + apptOrganizer.emailAddress + ")");

requiredAttendees

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

Свойство requiredAttendees возвращает массив, содержащий объект EmailAddressDetails для каждого обязательного участника собрания. Максимальное число возвращенных участников зависит от клиента Outlook.

  • Windows: 500 участников

  • Android, классический пользовательский интерфейс Mac, iOS: 100 участников

  • Новый пользовательский интерфейс Mac, веб-браузер: нет ограничений

requiredAttendees: EmailAddressDetails[];

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

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-required-attendees-appointment-attendee.yaml

const apptRequiredAttendees = Office.context.mailbox.item.requiredAttendees;
console.log("Required attendees:");
for (let i = 0; i < apptRequiredAttendees.length; i++) {
  console.log(
    apptRequiredAttendees[i].displayName +
      " (" +
      apptRequiredAttendees[i].emailAddress +
      ") - response: " +
      apptRequiredAttendees[i].appointmentResponse
  );
}

start

Возвращает дату и время начала встречи.

Свойство start представляет собой объект, выраженный Date в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime преобразования значения в локальные дату и время клиента.

start: Date;

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

Date

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml

console.log(`Appointment starts: ${Office.context.mailbox.item.start}`);

subject

Возвращает описание, отображающееся в поле темы элемента.

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

Свойство subject возвращает строку. Используйте свойство , normalizedSubject чтобы получить субъект без всех начальных префиксов, таких как RE: и FW:.

subject: string;

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

string

Комментарии

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

Применимый режим Outlook: участник встречи

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-subject-read.yaml

console.log(`Subject: ${Office.context.mailbox.item.subject}`);

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

displayReplyAllForm(formData)

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

displayReplyAllForm(formData: string | ReplyFormData): void;

Параметры

formData

string | Office.ReplyFormData

Строка, содержащая текст и HTML-код, представляющие собой основной текст формы ответа. Строка ограничена 32 КБ или объектом ReplyFormData , который содержит данные текста или вложения и функцию обратного вызова.

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

void

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

  • В Outlook в Интернете форма ответа отображается в виде всплывающей формы в представлении из трех столбцов и всплывающей формы в представлении из двух столбцов или 1 столбца.

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

  • Если вложения указаны в параметре formData.attachments , Outlook пытается скачать все вложения и вложить их в форму ответа. Если какие-либо вложения добавить не удается, в форме отображается сообщение об ошибке. Если сообщения об ошибках не предусмотрены, то они не отображаются.

  • Этот метод не поддерживается в Outlook для Android или в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Примеры

// The following code passes a string to the `displayReplyAllForm` method.
Office.context.mailbox.item.displayReplyAllForm('hello there');
Office.context.mailbox.item.displayReplyAllForm('<b>hello there</b>');

// Reply with an empty body.
Office.context.mailbox.item.displayReplyAllForm({});

// Reply with just a body.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi'
});

// Reply with a body and a file attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
        'type' : Office.MailboxEnums.AttachmentType.File,
        'name' : 'squirrel.png',
        'url' : 'http://i.imgur.com/sRgTlGR.jpg'
        }
    ]
});

// Reply with a body and an item attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
        'type' : 'item',
        'name' : 'rand',
        'itemId' : Office.context.mailbox.item.itemId
        }
    ]
});

// Reply with a body, file attachment, item attachment, and a callback.
Office.context.mailbox.item.displayReplyAllForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
            'type' : Office.MailboxEnums.AttachmentType.File,
            'name' : 'squirrel.png',
            'url' : 'http://i.imgur.com/sRgTlGR.jpg'
        },
        {
            'type' : 'item',
            'name' : 'rand',
            'itemId' : Office.context.mailbox.item.itemId
        }
    ],
    'callback' : function(asyncResult)
    {
        console.log(asyncResult.value);
    }
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyAllForm("This is a reply ALL with <b>some bold text</b>.");

displayReplyForm(formData)

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

displayReplyForm(formData: string | ReplyFormData): void;

Параметры

formData

string | Office.ReplyFormData

Строка, содержащая текст и HTML-код, представляющие собой основной текст формы ответа. Строка ограничена 32 КБ или объектом ReplyFormData , который содержит данные текста или вложения и функцию обратного вызова.

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

void

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

  • В Outlook в Интернете форма ответа отображается в виде всплывающей формы в представлении из трех столбцов и всплывающей формы в представлении из двух столбцов или 1 столбца.

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

  • Если вложения указаны в параметре formData.attachments , Outlook пытается скачать все вложения и вложить их в форму ответа. Если какие-либо вложения добавить не удается, в форме отображается сообщение об ошибке. Если сообщения об ошибках не предусмотрены, то они не отображаются.

  • Этот метод не поддерживается в Outlook для Android или в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.

Примеры

// The following code passes a string to the `displayReplyForm` method.
Office.context.mailbox.item.displayReplyForm('hello there');
Office.context.mailbox.item.displayReplyForm('<b>hello there</b>');

// Reply with an empty body.
Office.context.mailbox.item.displayReplyForm({});

// Reply with just a body.
Office.context.mailbox.item.displayReplyForm(
{
    'htmlBody' : 'hi'
});

// Reply with a body and a file attachment.
Office.context.mailbox.item.displayReplyForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
            'type' : Office.MailboxEnums.AttachmentType.File,
            'name' : 'squirrel.png',
            'url' : 'http://i.imgur.com/sRgTlGR.jpg'
        }
    ]
});

// Reply with a body and an item attachment.
Office.context.mailbox.item.displayReplyForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
            'type' : 'item',
            'name' : 'rand',
            'itemId' : Office.context.mailbox.item.itemId
        }
    ]
});

// Reply with a body, file attachment, item attachment, and a callback.
Office.context.mailbox.item.displayReplyForm(
{
    'htmlBody' : 'hi',
    'attachments' :
    [
        {
            'type' : Office.MailboxEnums.AttachmentType.File,
            'name' : 'squirrel.png',
            'url' : 'http://i.imgur.com/sRgTlGR.jpg'
        },
        {
            'type' : 'item',
            'name' : 'rand',
            'itemId' : Office.context.mailbox.item.itemId
        }
    ],
    'callback' : function(asyncResult)
    {
        console.log(asyncResult.value);
    }
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml

Office.context.mailbox.item.displayReplyForm("This is a reply with <i>some text in italics</i>.");

...

Office.context.mailbox.item.displayReplyForm({
  htmlBody: "This is a reply with a couple of attachments - an inline image and an item<br><img src='cid:dog.jpg'>",
  attachments: [
    { type: "file", url: "http://i.imgur.com/9S36xvA.jpg", name: "dog.jpg", isInline: true },
    { type: "item", itemId: Office.context.mailbox.item.itemId, name: "test_email.msg" }
  ],
  options: { asyncContext: null },
  callback: function(result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
      console.error(`Action failed with message ${result.error.message}`);
    }
  }
});

getEntities()

Получает сущности, обнаруженные в теле выбранного элемента.

getEntities(): Entities;

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

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-entities-and-regex-matches/basic-entities.yaml

const entities = Office.context.mailbox.item.getEntities();
let entityTypesFound = 0;
if (entities.addresses.length > 0) {
    console.warn("physical addresses: ");
    console.log(entities.addresses);
    entityTypesFound++;
}
if (entities.contacts.length > 0) {
    console.warn("contacts: ");
    entities.contacts.forEach(function (contact) { console.log(contact.personName); })
    entityTypesFound++;
}
if (entities.emailAddresses.length > 0) {
    console.warn("email addresses: ");
    console.log(entities.emailAddresses);
    entityTypesFound++;
}
if (entities.meetingSuggestions.length > 0) {
    console.warn("meetings suggestions: ");
    entities.meetingSuggestions.forEach(function (meetingSuggestion) { console.log(meetingSuggestion.meetingString); })
    entityTypesFound++;
}
if (entities.phoneNumbers.length > 0) {
    console.warn("phone numbers: ");
    entities.phoneNumbers.forEach(function (phoneNumber) { console.log(phoneNumber.originalPhoneString); })
    entityTypesFound++;
}
if (entities.taskSuggestions.length > 0) {
    console.warn("task suggestions: ");
    entities.taskSuggestions.forEach(function (taskSuggestion) { console.log(taskSuggestion.taskString); })
    entityTypesFound++;
}
if (entities.urls.length > 0) {
    console.warn("URLs: ");
    console.log(entities.urls);
    entityTypesFound++;
}
if (entityTypesFound == 0)
{
    console.log("No entities found on this item.");
}

getEntitiesByType(entityType)

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

getEntitiesByType(entityType: MailboxEnums.EntityType | string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

Параметры

entityType

Office.MailboxEnums.EntityType | string

Одно из значений EntityType перечисления.

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

Значение entityType Тип объектов в возвращаемом массиве Необходимый уровень разрешений
Address String Restricted
Контакт Контакт ReadItem
EmailAddress String ReadItem
MeetingSuggestion MeetingSuggestion ReadItem
PhoneNumber PhoneNumber Restricted
TaskSuggestion TaskSuggestion ReadItem
URL-адрес String Restricted

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

Если значение, переданное в entityType, не является допустимым членом перечисления EntityType, метод возвращает значение NULL. Если в теле элемента отсутствуют сущности указанного типа, метод возвращает пустой массив. В противном случае тип объектов в возвращаемом массиве зависит от типа сущности, запрошенной в параметре entityType.

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-entities-and-regex-matches/basic-entities.yaml

console.log(Office.context.mailbox.item.getEntitiesByType(Office.MailboxEnums.EntityType.Address));

getFilteredEntitiesByName(name)

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

getFilteredEntitiesByName(name: string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;

Параметры

name

string

Имя элемента правила ItemHasKnownEntity, определяющее соответствующий фильтр.

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

Сущности, соответствующие регулярному выражению, определенному в элементе ItemHasKnownEntity rule в XML-файле манифеста, с указанным FilterName значением элемента. Если в манифесте нет ItemHasKnownEntity элемента со значением FilterName элемента, соответствующее параметру name , метод возвращает null. name Если параметр соответствует элементу ItemHasKnownEntity манифеста, но в текущем элементе нет совпадающих сущностей, метод возвращает пустой массив.

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-entities-and-regex-matches/contextual.yaml

// This API would only work when you click on highlighted physical address that has the word "Way" in it.
console.log(Office.context.mailbox.item.getFilteredEntitiesByName("sampleFilterName"));

getRegExMatches()

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

getRegExMatches(): any;

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

any

Объект, содержащий массив строк, которые соответствуют регулярным выражениям, определяемым в XML-файле манифеста. Имя каждого массива равно соответствующему значению атрибута RegExName соответствующего правила или ItemHasRegularExpressionMatchFilterName атрибута соответствующего ItemHasKnownEntity правила. Для правила ItemHasRegularExpressionMatch соответствующая строка должна находиться в свойстве элемента, заданного этим правилом. Простой тип PropertyName определяет поддерживаемые свойства.

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

Примеры

// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
//  <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
//  <Rule xsi:type="RuleCollection" Mode="Or">
//    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
//    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
//  </Rule>
//</Rule>

// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}

// The following example shows how to access the array of
// matches for the regular expression rule elements `fruits`
// and `veggies`, which are specified in the manifest.
const allMatches = Office.context.mailbox.item.getRegExMatches();
const fruits = allMatches.fruits;
const veggies = allMatches.veggies;
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-entities-and-regex-matches/contextual.yaml

// This API would only work when you click on highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatches());

getRegExMatchesByName(name)

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

getRegExMatchesByName(name: string): string[];

Параметры

name

string

Имя элемента правила ItemHasRegularExpressionMatch, определяющее соответствующий фильтр.

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

string[]

Массив, содержащий строки, соответствующие регулярному выражению, определенному в элементе ItemHasRegularExpressionMatch rule в XML-файле манифеста, с указанным RegExName значением элемента.

Комментарии

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

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

Применимый режим Outlook: участник встречи

Важно!

Примеры

// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
//  <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
//  <Rule xsi:type="RuleCollection" Mode="Or">
//    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
//    <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
//  </Rule>
//</Rule>

// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}

const fruits = Office.context.mailbox.item.getRegExMatchesByName("fruits");
const veggies = Office.context.mailbox.item.getRegExMatchesByName("veggies");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-entities-and-regex-matches/contextual.yaml

// This API would only work when you click on highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatchesByName("sampleRegexName"));

loadCustomPropertiesAsync(callback, userContext)

Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента.

Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища.

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

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

Параметры

callback

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

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

userContext

any

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

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

void

Комментарии

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

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

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

Применимый режим Outlook: участник встречи

Примеры

// The following example shows how to use the loadCustomPropertiesAsync method
// to asynchronously load custom properties that are specific to the current item.
// The example also shows how to use the saveAsync method to save these properties
// back to the server. After loading the custom properties, the example uses the
// get method to read the custom property myProp, the set method to write the
// custom property otherProp, and then finally calls the saveAsync method to save
// the custom properties.
Office.initialize = function () {
    // Checks for the DOM to load using the jQuery ready method.
    $(document).ready(function () {
        // After the DOM is loaded, add-in-specific code can run.
        const mailbox = Office.context.mailbox;
        mailbox.item.loadCustomPropertiesAsync(customPropsCallback);
    });
};

function customPropsCallback(asyncResult) {
    const customProps = asyncResult.value;
    const myProp = customProps.get("myProp");

    customProps.set("otherProp", "value");
    customProps.saveAsync(saveCallback);
}

function saveCallback(asyncResult) {
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

Office.context.mailbox.item.loadCustomPropertiesAsync(function (result) {
  if (result.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Loaded following custom properties:");
    customProps = result.value;
    const dataKey = Object.keys(customProps)[0];
    const data = customProps[dataKey];
    for (let propertyName in data)
    {
      let propertyValue = data[propertyName];
      console.log(`${propertyName}: ${propertyValue}`);
    }              
  }
  else {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
  }
});