Office.AppointmentRead interface
Режим участника встречи Office.context.mailbox.item.
Важно! Это внутренний объект Outlook, который не предоставляется напрямую через существующие интерфейсы. Этот режим следует рассматривать как режим Office.context.mailbox.item
. Дополнительные сведения см. на странице Объектная модель .
Родительские интерфейсы:
- Extends
Свойства
attachments | Возвращает вложения элемента в виде массива. |
body | Получает объект, предоставляющий методы для работы с основным текстом элемента. |
date |
Получает дату и время создания элемента. |
date |
Получает дату и время последнего изменения элемента. |
end | Возвращает дату и время окончания встречи. Свойство Если вы задаете время окончания с помощью метода |
item |
Возвращает класс элементов веб-служб Exchange выбранной встречи. Возвращает для |
item |
Возвращает идентификатор элемента веб-служб Exchange для текущего элемента. Свойство Примечание. Идентификатор, возвращаемый свойством |
item |
Получает тип элемента, который представляет экземпляр. Свойство |
location | Получает место встречи. Свойство |
normalized |
Возвращает тему элемента со всеми удаленными префиксами (включая RE: и FWD:). Свойство |
notification |
Получает сообщения уведомления для элемента. |
optional |
Предоставляет доступ к необязательным участникам события. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство
|
organizer | Возвращает свойства электронной почты организатора собрания. |
required |
Предоставляет доступ к обязательным участникам события. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство
|
start | Возвращает дату и время начала встречи. Свойство |
subject | Возвращает описание, отображающееся в поле темы элемента. Свойство Свойство |
Методы
display |
Отображает форму ответа, включающую отправителя и всех получателей выбранного сообщения либо организатора и всех участников выбранной встречи. |
display |
Отображает форму ответа, включающую только отправителя выбранного сообщения или организатора выбранной встречи. |
get |
Получает сущности, обнаруженные в теле выбранного элемента. |
get |
Получает массив всех сущностей указанного типа, обнаруженных в теле выбранного элемента. |
get |
Возвращает известные сущности в выбранном элементе, которые передают именованный фильтр, определенный в XML-файле манифеста. |
get |
Возвращает строковые значения в выбранном элементе, соответствующие регулярным выражениям, определенным в XML-файле манифеста. |
get |
Возвращает строковые значения в выбранном элементе, соответствующие именованное регулярное выражение, определенное в XML-файле манифеста. |
load |
Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента. Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища. Настраиваемые свойства предоставляются в виде объекта |
Сведения о свойстве
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;
Значение свойства
Office.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: участник встречи
Важно!
Контекстные надстройки Outlook на основе сущностей, включая
getEntities
метод, будут сняты с учета во 2-м квартале 2024 г. Работа по прекращению использования этого метода начнется в мае и продолжится до конца июня. После июня контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook. Дополнительные сведения о прекращении использования контекстных надстроек Outlook на основе сущностей см. в статье Прекращение использования контекстных надстроек 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/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 |
Возвращаемое значение
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
Если значение, переданное в entityType
, не является допустимым членом перечисления EntityType
, метод возвращает значение NULL. Если в теле элемента отсутствуют сущности указанного типа, метод возвращает пустой массив. В противном случае тип объектов в возвращаемом массиве зависит от типа сущности, запрошенной в параметре entityType
.
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: ограниченный
Применимый режим Outlook: участник встречи
Важно!
Контекстные надстройки Outlook на основе сущностей, включая
getEntitiesByType
метод, будут сняты с учета во 2-м квартале 2024 г. Работа по прекращению использования этого метода начнется в мае и продолжится до конца июня. После июня контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook. Дополнительные сведения о прекращении использования контекстных надстроек Outlook на основе сущностей см. в статье Прекращение использования контекстных надстроек 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/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
, определяющее соответствующий фильтр.
Возвращаемое значение
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
Сущности, соответствующие регулярному выражению, определенному в элементе ItemHasKnownEntity
rule в XML-файле манифеста, с указанным FilterName
значением элемента. Если в манифесте нет ItemHasKnownEntity
элемента со значением FilterName
элемента, соответствующее параметру name
, метод возвращает null
. name
Если параметр соответствует элементу ItemHasKnownEntity
манифеста, но в текущем элементе нет совпадающих сущностей, метод возвращает пустой массив.
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: участник встречи
Важно!
Контекстные надстройки Outlook на основе сущностей, включая
getFilteredEntitiesByName
метод, будут сняты с учета во 2-м квартале 2024 г. Работа по прекращению использования этого метода начнется в мае и продолжится до конца июня. После июня контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook. Дополнительные сведения о прекращении использования контекстных надстроек Outlook на основе сущностей см. в статье Прекращение использования контекстных надстроек Outlook на основе сущностей.Этот метод используется с функцией правил активации для надстроек Outlook, которая не поддерживается в унифицированном манифесте Microsoft 365 (предварительная версия).
Этот метод не поддерживается в 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/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 соответствующего правила или ItemHasRegularExpressionMatch
FilterName
атрибута соответствующего ItemHasKnownEntity
правила. Для правила ItemHasRegularExpressionMatch
соответствующая строка должна находиться в свойстве элемента, заданного этим правилом. Простой тип PropertyName
определяет поддерживаемые свойства.
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: участник встречи
Важно!
Контекстные надстройки Outlook на основе сущностей будут прекращены во 2-м квартале 2024 г. После прекращения использования контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook. Дополнительные сведения о прекращении использования контекстных надстроек На основе сущностей см. в статье Прекращение использования контекстных надстроек Outlook на основе сущностей.
Этот метод используется с функцией правил активации для надстроек Outlook, которая не поддерживается в унифицированном манифесте Microsoft 365 (предварительная версия).
Если указать
ItemHasRegularExpressionMatch
правило для свойства body элемента, регулярное выражение должно дополнительно фильтровать текст и не пытаться вернуть весь текст элемента. Использование регулярного выражения, например.*
для получения всего текста элемента, не всегда возвращает ожидаемые результаты. Лучше используйте методBody.getAsync
для этого.Этот метод не поддерживается в Outlook для Android или в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в 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: участник встречи
Важно!
Контекстные надстройки Outlook на основе сущностей будут прекращены во 2-м квартале 2024 г. После прекращения использования контекстные надстройки больше не смогут обнаруживать сущности в почтовых элементах для выполнения задач над ними. Правила регулярных выражений будут поддерживаться после прекращения использования контекстных надстроек на основе сущностей. Мы рекомендуем обновить контекстную надстройку, чтобы использовать правила регулярных выражений в качестве альтернативного решения. Инструкции по реализации этих правил см. в статье Использование правил активации регулярных выражений для отображения надстройки Outlook. Дополнительные сведения о прекращении использования контекстных надстроек На основе сущностей см. в статье Прекращение использования контекстных надстроек Outlook на основе сущностей.
Этот метод используется с функцией правил активации для надстроек Outlook, которая не поддерживается в унифицированном манифесте Microsoft 365 (предварительная версия).
Если указать
ItemHasRegularExpressionMatch
правило для свойства body элемента, регулярное выражение должно дополнительно фильтровать текст и не пытаться вернуть весь текст элемента. Использование регулярного выражения, например.*
для получения всего текста элемента, не всегда возвращает ожидаемые результаты. Лучше используйте методBody.getAsync
для этого.Этот метод не поддерживается в Outlook для Android или в iOS. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в 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}`);
}
});
Office Add-ins
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по