Office.AppointmentCompose interface
Режим организатора встреч Office.context.mailbox.item.
Важно! Это внутренний объект Outlook, который не предоставляется напрямую через существующие интерфейсы. Этот режим следует рассматривать как режим Office.context.mailbox.item
. Дополнительные сведения см. на странице Объектная модель .
Родительские интерфейсы:
- Extends
Свойства
body | Получает объект, предоставляющий методы для работы с основным текстом элемента. |
end | Получает или задает дату и время окончания встречи. Свойство Если вы задаете время окончания с помощью метода Важно! В клиенте Windows это свойство нельзя использовать для обновления конца повторения. |
item |
Получает тип элемента, который представляет экземпляр. Свойство |
location | Получает или задает место встречи. Свойство |
notification |
Получает сообщения уведомления для элемента. |
optional |
Предоставляет доступ к необязательным участникам события. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство |
required |
Предоставляет доступ к обязательным участникам события. Тип объекта и уровень доступа зависят от режима текущего элемента. Свойство |
start | Получает или задает дату и время начала встречи. Свойство Если вы задаете время начала с помощью метода Важно! В клиенте Windows это свойство нельзя использовать для обновления начала повторения. |
subject | Получает или задает описание, которое отображается в поле темы элемента. Свойство Свойство |
Методы
add |
Добавляет файл в сообщение или встречу в качестве вложения. Метод |
add |
Добавляет файл в сообщение или встречу в качестве вложения. Метод |
add |
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения. С помощью метода Идентификатор можно использовать с методом Если надстройка Office запущена в Outlook в Интернете и в новом Outlook в Windows, |
add |
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения. С помощью метода Идентификатор можно использовать с методом Если надстройка Office запущена в Outlook в Интернете и в новом Outlook в Windows, |
close() | Закрывает текущий создаваемый элемент. Работа метода В Outlook в Windows (классической) и на Mac |
get |
Асинхронно возвращает данные, выбранные в теме или тексте сообщения. Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите . |
get |
Асинхронно возвращает данные, выбранные в теме или тексте сообщения. Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите . |
load |
Асинхронно загружает настраиваемые свойства для надстройки для выбранного элемента. Пользовательские свойства хранятся в виде пар "ключ-значение" для каждого приложения и каждого элемента. Этот метод возвращает объект CustomProperties в обратном вызове, который предоставляет методы для доступа к пользовательским свойствам, характерным для текущего элемента и текущей надстройки. Пользовательские свойства не шифруются в элементе, поэтому их не следует использовать в качестве безопасного хранилища. Настраиваемые свойства предоставляются в виде объекта |
remove |
Удаляет вложение из сообщения или встречи. Метод |
remove |
Удаляет вложение из сообщения или встречи. Метод |
save |
Асинхронно сохраняет элемент. Так как встречи не имеют чернового состояния, при |
save |
Асинхронно сохраняет элемент. Так как встречи не имеют чернового состояния, при |
set |
Асинхронно вставляет данные в текст или тему сообщения. Метод |
set |
Асинхронно вставляет данные в текст или тему сообщения. Метод |
Сведения о свойстве
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 an object that is passed as the result parameter to the callback function.
{
"value": "TEXT of whole body (including threads below)",
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
end
Получает или задает дату и время окончания встречи.
Свойство end
представляет собой объект Time, выраженный в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime
преобразования end
значения свойства в локальные значения даты и времени клиента.
Если вы задаете время окончания с помощью метода Time.setAsync
, необходимо использовать метод convertToUtcClientTime
для преобразования местного времени на клиенте в формат UTC для сервера.
Важно! В клиенте Windows это свойство нельзя использовать для обновления конца повторения.
end: Time;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
// The following example sets the end time of an appointment in compose mode by
// using the `setAsync` method of the `Time` object.
const endTime = new Date("3/14/2015");
const options = {
// Pass information that can be used in the callback.
asyncContext: {verb: "Set"}
};
Office.context.mailbox.item.end.setAsync(endTime, options, function(result) {
if (result.error) {
console.debug(result.error);
} else {
// Access the asyncContext that was passed to the setAsync method.
console.debug("End Time " + result.asyncContext.verb);
}
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-end-appointment-organizer.yaml
Office.context.mailbox.item.end.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Appointment ends: ${result.value}`);
});
...
Office.context.mailbox.item.start.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Get start date failed with message ${result.error.message}`);
return;
}
const end = result.value; // Set end to current start date and time.
end.setDate(end.getDate() + 1); // Set end as 1 day later than start date.
Office.context.mailbox.item.end.setAsync(end, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Set end date failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set end date and time to ${end}`);
});
});
itemType
Получает тип элемента, который представляет экземпляр.
Свойство itemType
возвращает одно из значений перечисления ItemType
, которое указывает, является ли экземпляр объекта item
сообщением или встречей.
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 , который предоставляет методы, используемые для получения и задания расположения встречи.
location: Location;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
const userContext = { value : 1 };
Office.context.mailbox.item.location.getAsync( { context: userContext}, callback);
function callback(asyncResult) {
const context = asyncResult.context;
const location = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-location-appointment-organizer.yaml
Office.context.mailbox.item.location.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Appointment location: ${result.value}`);
});
...
const location = "my office";
Office.context.mailbox.item.location.setAsync(location, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set location to ${location}`);
});
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
возвращает объект Recipients
, который предоставляет методы для получения или обновления необязательных участников собрания. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .
optionalAttendees: Recipients;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
Office.context.mailbox.item.optionalAttendees.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.optionalAttendees.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.optionalAttendees.getAsync(callback);
function callback(asyncResult) {
const arrayOfOptionalAttendeesRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-optional-attendees-appointment-organizer.yaml
Office.context.mailbox.item.optionalAttendees.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const apptOptionalAttendees = asyncResult.value;
for (let i = 0; i < apptOptionalAttendees.length; i++) {
console.log(
"Optional attendees: " +
apptOptionalAttendees[i].displayName +
" (" +
apptOptionalAttendees[i].emailAddress +
") - response: " +
apptOptionalAttendees[i].appointmentResponse
);
}
} else {
console.error(asyncResult.error);
}
});
...
const email = $("#emailOptional")
.val()
.toString();
const emailArray = [email];
Office.context.mailbox.item.optionalAttendees.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting optional attendees field.");
} else {
console.error(asyncResult.error);
}
});
requiredAttendees
Предоставляет доступ к обязательным участникам события. Тип объекта и уровень доступа зависят от режима текущего элемента.
Свойство requiredAttendees
возвращает объект Recipients
, предоставляющий методы, с помощью которых можно получить или обновить сведения об обязательных участниках собрания. Однако в зависимости от клиента или платформы (например, Windows, Mac и т. д.) могут применяться ограничения на количество получателей, которые можно получить или обновить. Дополнительные сведения см. в объекте Recipients .
requiredAttendees: Recipients;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
Office.context.mailbox.item.requiredAttendees.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.requiredAttendees.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.requiredAttendees.getAsync(callback);
function callback(asyncResult) {
const arrayOfRequiredAttendeesRecipients = asyncResult.value;
console.log(JSON.stringify(arrayOfRequiredAttendeesRecipients));
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-required-attendees-appointment-organizer.yaml
Office.context.mailbox.item.requiredAttendees.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const apptRequiredAttendees = asyncResult.value;
for (let i = 0; i < apptRequiredAttendees.length; i++) {
console.log(
"Required attendees: " +
apptRequiredAttendees[i].displayName +
" (" +
apptRequiredAttendees[i].emailAddress +
") - response: " +
apptRequiredAttendees[i].appointmentResponse
);
}
} else {
console.error(asyncResult.error);
}
});
...
const email = $("#emailRequired")
.val()
.toString();
const emailArray = [email];
Office.context.mailbox.item.requiredAttendees.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting required attendees field.");
} else {
console.error(asyncResult.error);
}
});
start
Получает или задает дату и время начала встречи.
Свойство start
представляет собой объект Time, выраженный в виде значения даты и времени в формате UTC. Метод можно использовать для convertToLocalClientTime
преобразования значения в локальные дату и время клиента.
Если вы задаете время начала с помощью метода Time.setAsync
, необходимо использовать метод convertToUtcClientTime
для преобразования местного времени на клиенте в формат UTC для сервера.
Важно! В клиенте Windows это свойство нельзя использовать для обновления начала повторения.
start: Time;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-start-appointment-organizer.yaml
Office.context.mailbox.item.start.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Appointment starts: ${result.value}`);
});
...
const start = new Date(); // Represents current date and time.
start.setDate(start.getDate() + 2); // Add 2 days to current date.
Office.context.mailbox.item.start.setAsync(start, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set start date and time to ${start}`);
});
subject
Получает или задает описание, которое отображается в поле темы элемента.
Свойство subject
получает или задает всю тему элемента для отправки с почтового сервера.
Свойство subject
возвращает объект Subject
, который предоставляет методы для получения и задания темы.
subject: Subject;
Значение свойства
Комментарии
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml
Office.context.mailbox.item.subject.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Subject: ${result.value}`);
});
...
let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set subject to ${subject}`);
});
Сведения о методе
addFileAttachmentAsync(uri, attachmentName, options, callback)
Добавляет файл в сообщение или встречу в качестве вложения.
Метод addFileAttachmentAsync
передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.
addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- uri
-
string
Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.
- attachmentName
-
string
Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.
- options
-
Office.AsyncContextOptions & { isInline: boolean }
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
isInline
: если значение true, означает, что вложение будет отображаться в виде изображения в тексте сообщения и не будет отображаться в списке вложений.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value
. Если добавить вложение не удастся, объект asyncResult
будет содержать объект Error
с описанием ошибки.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно!
Этот метод не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
В последних сборках классического Outlook для Windows была введена ошибка, которая неправильно добавляет
Authorization: Bearer
заголовок к этому действию (будь то с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленныйaddFileAttachmentFromBase64
с набором требований 1.8.Универсальный код ресурса (URI) присоединяемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещен образ, не должен возвращать заголовок, указывающий
Cache-Control
no-cache
,no-store
или аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может помешать просмотру изменений. Мы рекомендуем использоватьCache-Control
заголовки во время разработки.Вы можете использовать тот же URI с методом
removeAttachmentAsync
для удаления вложения в том же сеансе.
Ошибки:
AttachmentSizeExceeded
: вложение больше допустимого размера.FileTypeNotSupported
: вложение имеет расширение, которое запрещено.NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = $("#attachmentUrl")
.val()
.toString();
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
console.log(result);
}
);
addFileAttachmentAsync(uri, attachmentName, callback)
Добавляет файл в сообщение или встречу в качестве вложения.
Метод addFileAttachmentAsync
передает файл по указанному универсальному коду ресурса (URI) и вкладывает его в элемент в форме создания.
addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- uri
-
string
Универсальный код ресурса (URI), представляющий расположение файла, который нужно вложить в сообщение или встречу. Максимальная длина — 2048 символов.
- attachmentName
-
string
Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value
. Если добавить вложение не удастся, объект asyncResult
будет содержать объект Error
с описанием ошибки.
Возвращаемое значение
void
Комментарии
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно!
Этот метод не поддерживается в Outlook для iOS или Android. Дополнительные сведения о поддерживаемых API в Outlook Mobile см. в статье API JavaScript Для Outlook, поддерживаемые в Outlook на мобильных устройствах.
В последних сборках классического Outlook для Windows была введена ошибка, которая неправильно добавляет
Authorization: Bearer
заголовок к этому действию (будь то с помощью этого API или пользовательского интерфейса Outlook). Чтобы обойти эту проблему, используйте API, представленныйaddFileAttachmentFromBase64
с набором требований 1.8.Универсальный код ресурса (URI) присоединяемого файла должен поддерживать кэширование в рабочей среде. Сервер, на котором размещен образ, не должен возвращать заголовок, указывающий
Cache-Control
no-cache
,no-store
или аналогичные параметры в HTTP-ответе. Однако при разработке надстройки и внесении изменений в файлы кэширование может помешать просмотру изменений. Мы рекомендуем использоватьCache-Control
заголовки во время разработки.Вы можете использовать тот же URI с методом
removeAttachmentAsync
для удаления вложения в том же сеансе.
Ошибки:
AttachmentSizeExceeded
: вложение больше допустимого размера.FileTypeNotSupported
: вложение имеет расширение, которое запрещено.NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
addItemAttachmentAsync(itemId, attachmentName, options, callback)
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.
С помощью метода addItemAttachmentAsync
можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResult
который содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. При необходимости можно использовать options
параметр для передачи сведений о состоянии функции обратного вызова.
Идентификатор можно использовать с методом removeAttachmentAsync
, чтобы удалить вложение, добавленное во время текущего сеанса.
Если надстройка Office запущена в Outlook в Интернете и в новом Outlook в Windows, addItemAttachmentAsync
метод может вложить элементы в элементы, отличные от того, который вы редактируйте. Однако это не поддерживается и не рекомендуется.
addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- itemId
-
any
Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.
- attachmentName
-
string
Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в параметре обратного вызова, вызывается с одним параметром типа Office.AsyncResult
. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value
. Если добавить вложение не удастся, объект asyncResult
будет содержать объект Error
с описанием ошибки.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Ошибки:
-
NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
Примеры
// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
function addAttachment() {
// EWS ID of item to attach (shortened for readability).
const itemId = "AAMkADI1...AAA=";
// The values in asyncContext can be accessed in the callback.
const options = { asyncContext: { var1: 1, var2: 2 } };
Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to add attachment: " + result.error.message);
return;
}
console.log("Attachment added successfully.");
console.log("var1: " + result.asyncContext.var1);
console.log("var2: " + result.asyncContext.var2);
});
}
addItemAttachmentAsync(itemId, attachmentName, callback)
Добавляет к сообщению элемент Exchange, например сообщение, в виде вложения.
С помощью метода addItemAttachmentAsync
можно в элемент формы создания вложить элемент с указанным идентификатором Exchange. Если указать функцию обратного вызова, метод вызывается с одним параметром , asyncResult
который содержит идентификатор вложения или код, указывающий на любую ошибку, которая произошла при присоединении элемента. При необходимости можно использовать options
параметр для передачи сведений о состоянии функции обратного вызова.
Идентификатор можно использовать с методом removeAttachmentAsync
, чтобы удалить вложение, добавленное во время текущего сеанса.
Если надстройка Office запущена в Outlook в Интернете и в новом Outlook в Windows, addItemAttachmentAsync
метод может вложить элементы в элементы, отличные от того, который вы редактируйте. Однако это не поддерживается и не рекомендуется.
addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- itemId
-
any
Идентификатор Exchange для вкладываемого элемента. Максимальная длина — 100 символов.
- attachmentName
-
string
Имя вложения, которое отображается при передаче вложения. Максимальная длина: 255 символов.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Необязательный параметр. После завершения метода функция, переданная в параметре обратного вызова, вызывается с одним параметром типа Office.AsyncResult
. После успешного выполнения идентификатор вложения будет представлен в свойстве asyncResult.value
. Если добавить вложение не удастся, объект asyncResult
будет содержать объект Error
с описанием ошибки.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Ошибки:
-
NumberOfAttachmentsExceeded
: сообщение или встреча содержит слишком много вложений.
close()
Закрывает текущий создаваемый элемент.
Работа метода close
зависит от текущего состояния создаваемого элемента. Если элемент содержит несохраненные изменения, клиент предлагает пользователю сохранить, отменить или закрыть действие.
В Outlook в Windows (классической) и на Mac close
метод не влияет на ответ в области чтения.
close(): void;
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: ограниченный
Применимый режим Outlook: организатор встреч
Важно! В Outlook в Интернете и новом Outlook в Windows, если элемент является встречей и ранее был сохранен с помощью saveAsync
, пользователю будет предложено сохранить, отменить или отменить, даже если с момента последнего сохранения элемента не произошло никаких изменений.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml
Office.context.mailbox.item.close();
getSelectedDataAsync(coercionType, options, callback)
Асинхронно возвращает данные, выбранные в теме или тексте сообщения.
Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection
.
Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data
Чтобы получить доступ к свойствуsource
, из которого происходит выбор, вызовитеasyncResult.value.sourceProperty
, который будет иметь значение body
или subject
.
getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
Параметры
- coercionType
-
Office.CoercionType | string
Запрашивает формат данных. Если Text
задано значение , метод возвращает обычный текст в виде строки, удаляя все присутствующие HTML-теги. Если HTML
задано значение , метод возвращает выделенный текст, будь то обычный текст или HTML.
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
.
Возвращаемое значение
void
Выбранные данные в виде строки с форматом, определенным .coercionType
Комментарии
[ Набор API: Почтовый ящик 1.2 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, getCallback);
function getCallback(asyncResult) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log(`Selected text in ${prop}: ${text}`);
}
getSelectedDataAsync(coercionType, callback)
Асинхронно возвращает данные, выбранные в теме или тексте сообщения.
Если выделение отсутствует, но курсор находится в тексте или теме, метод возвращает пустую строку для выбранных данных. Если выбраны не текст и не тема, метод возвращает ошибку InvalidSelection
.
Чтобы получить доступ к выбранным данным из функции обратного вызова, вызовите .asyncResult.value.data
Чтобы получить доступ к свойствуsource
, из которого происходит выбор, вызовитеasyncResult.value.sourceProperty
, который будет иметь значение body
или subject
.
getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- coercionType
-
Office.CoercionType | string
Запрашивает формат данных. Если Text
задано значение , метод возвращает обычный текст в виде строки, удаляя все присутствующие HTML-теги. Если HTML
задано значение , метод возвращает выделенный текст, будь то обычный текст или HTML.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
.
Возвращаемое значение
void
Выбранные данные в виде строки с форматом, определенным .coercionType
Комментарии
[ Набор API: Почтовый ящик 1.2 ]
Минимальный уровень разрешений: чтение элемента
Применимый режим Outlook: организатор встреч
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log("Selected text in " + prop + ": " + text);
} else {
console.error(asyncResult.error);
}
});
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: организатор встреч
Примеры
// 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((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
return;
}
customProps = result.value;
console.log("Loaded the CustomProperties object.");
});
removeAttachmentAsync(attachmentId, options, callback)
Удаляет вложение из сообщения или встречи.
Метод removeAttachmentAsync
удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.
removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- attachmentId
-
string
Идентификатор удаляемого вложения. Максимальная длина attachmentId
строки составляет 200 символов в Outlook в Интернете и в Windows (новые и классические).
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
. Если удалить вложение не удается, свойство asyncResult.error
содержит код ошибки с указанием ее причины.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно*. Метод removeAttachmentAsync
не удаляет встроенные вложения из почтового элемента. Чтобы удалить встроенное вложение, сначала получите текст элемента, а затем удалите все ссылки на вложение из его содержимого. Используйте API Office.Body , чтобы получить и задать текст элемента.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.removeAttachmentAsync(
$("#attachmentId")
.val()
.toString(),
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
console.log(`Attachment removed successfully.`);
}
);
removeAttachmentAsync(attachmentId, callback)
Удаляет вложение из сообщения или встречи.
Метод removeAttachmentAsync
удаляет из элемента вложение с указанным идентификатором. Идентификатор вложения рекомендуется использовать для удаления вложения, только если оно добавлено тем же почтовым приложением в ходе текущего сеанса. В Outlook в Интернете, на мобильных устройствах и в новом Outlook в Windows идентификатор вложения действителен только в рамках одного сеанса. Сеанс завершается, когда пользователь закрывает приложение или если пользователь начинает создавать встроенную форму, затем открывает форму для продолжения в отдельном окне.
removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- attachmentId
-
string
Идентификатор удаляемого вложения. Максимальная длина attachmentId
строки составляет 200 символов в Outlook в Интернете и в Windows (новые и классические).
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
. Если удалить вложение не удается, свойство asyncResult.error
содержит код ошибки с указанием ее причины.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.1 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно*. Метод removeAttachmentAsync
не удаляет встроенные вложения из почтового элемента. Чтобы удалить встроенное вложение, сначала получите текст элемента, а затем удалите все ссылки на вложение из его содержимого. Используйте API Office.Body , чтобы получить и задать текст элемента.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
saveAsync(options, callback)
Асинхронно сохраняет элемент.
Так как встречи не имеют чернового состояния, при saveAsync
вызове на встрече в режиме создания элемент сохраняется как обычная встреча в календаре пользователя. Для новых встреч, которые ранее не были сохранены, приглашение не отправляется. Для существующих встреч обновление отправляется добавленным или удаленным участникам.
saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- options
- Office.AsyncContextOptions
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром Office.AsyncResult
, asyncResult
который является объектом . Идентификатор встречи EWS возвращается в свойстве asyncResult.value
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно!
В Outlook в Интернете, новый Outlook в Windows или классический Outlook в Windows в режиме "в сети" (без кэшированного режима) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.
При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как
Body.getAsync
,Body.setAsync
и дажеsaveAsync
могут привести к тому же содержимому.Возвращенный идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращенный идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью
Office.context.mailbox.convertToRestId
.Если надстройка вызывает
saveAsync
, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.В Outlook для Mac только версии 16.35 (20030802) и более поздних поддерживает сохранение собрания. В противном случае метод завершается ошибкой
saveAsync
при вызове из собрания в режиме создания. Обходной путь см. в статье Не удается сохранить собрание в виде черновика в Outlook для Mac с помощью API JS Office.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/save.yaml
Office.context.mailbox.item.saveAsync(function (result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
console.log(`saveAsync succeeded, itemId is ${result.value}`);
}
else {
console.error(`saveAsync failed with message ${result.error.message}`);
}
});
saveAsync(callback)
Асинхронно сохраняет элемент.
Так как встречи не имеют чернового состояния, при saveAsync
вызове на встрече в режиме создания элемент сохраняется как обычная встреча в календаре пользователя. Для новых встреч, которые ранее не были сохранены, приглашение не отправляется. Для существующих встреч обновление отправляется добавленным или удаленным участникам.
saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Параметры
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром Office.AsyncResult
, asyncResult
который является объектом . Идентификатор встречи EWS возвращается в свойстве asyncResult.value
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.3 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Важно!
В Outlook в Интернете, новый Outlook в Windows или классический Outlook в Windows в режиме "в сети" (без кэшированного режима) элемент сохраняется на сервере. В Outlook в режиме кэширования этот элемент сохраняется в локальном кэше.
При работе с содержимым в формате HTML важно отметить, что клиент Outlook может изменять содержимое. Это означает, что последующие вызовы таких методов, как
Body.getAsync
,Body.setAsync
и дажеsaveAsync
могут привести к тому же содержимому.Возвращенный идентификатор совпадает с идентификатором элемента веб-служб Exchange (EWS). Возвращенный идентификатор элемента не идентичен идентификатору записи Outlook или идентификатору, используемому REST API Outlook. Перед выполнением вызовов REST API с использованием этого значения его следует преобразовать с помощью
Office.context.mailbox.convertToRestId
.Если надстройка вызывает
saveAsync
, чтобы получить идентификатор элемента для использования с EWS или REST API, имейте в виду, что когда Outlook находится в кэшированном режиме, может потребоваться некоторое время, прежде чем элемент будет фактически синхронизирован с сервером. Пока элемент не будет синхронизирован, при использовании идентификатора элемента будет возвращена ошибка.В Outlook для Mac только версии 16.35 (20030802) и более поздних поддерживает сохранение собрания. В противном случае метод завершается ошибкой
saveAsync
при вызове из собрания в режиме создания. Обходной путь см. в статье Не удается сохранить собрание в виде черновика в Outlook для Mac с помощью API JS Office.
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Примеры
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result.
});
// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
"value": "AAMkADI5...AAA=",
"status": "succeeded"
}
setSelectedDataAsync(data, options, callback)
Асинхронно вставляет данные в текст или тему сообщения.
Метод setSelectedDataAsync
вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange
.
Литерал объекта, содержащий одно или несколько следующих свойств:- asyncContext
: разработчики могут предоставить любой объект, к которому они хотят получить доступ в функции обратного вызова.
coercionType
: если текст, текущий стиль применяется в Outlook в Интернете, в Windows (новая и классическая версия) и на Mac. Если поле представляет собой редактор HTML, вставляются только текстовые данные, даже если они имеют формат HTML. Если данные являются HTML и поле поддерживает HTML (тема не поддерживает), текущий стиль применяется в Outlook в Интернете и новом Outlook в Windows. Стиль по умолчанию применяется в Outlook в Windows (классической) и на Mac. Если поле является текстовым, возвращается ошибка InvalidDataFormat
. Если свойство coercionType
не задано, результат зависит от поля: если поле имеет формат HTML, используется текст в формате HTML, а если поле текстовое, применяется обычный текст.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.2 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Примеры
Office.context.mailbox.item.setSelectedDataAsync("<b>Hello World!</b>", { coercionType : "html" });
Office.context.mailbox.item.setSelectedDataAsync("Hello World!");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml
Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Selected text has been updated successfully.");
} else {
console.error(asyncResult.error);
}
});
setSelectedDataAsync(data, callback)
Асинхронно вставляет данные в текст или тему сообщения.
Метод setSelectedDataAsync
вставляет указанную строку в положение курсора в теме или тексте элемента или, если текст выделен в редакторе, он заменяет выделенный текст. Если курсор не находится в поле текст или тема, возвращается ошибка. После вставки курсор помещается в конец вставленного содержимого.
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Параметры
- data
-
string
Вставляемые данные. Объем данных не должен превышать 1 000 000 символов. Если передано больше 1 000 000 символов, возвращается исключение ArgumentOutOfRange
.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Необязательный параметр. После завершения метода функция, переданная в callback
параметре, вызывается с одним параметром типа Office.AsyncResult
.
Возвращаемое значение
void
Комментарии
[ Набор API: Почтовый ящик 1.2 ]
Минимальный уровень разрешений: чтение и запись элемента
Применимый режим Outlook: организатор встреч
Ошибки:
-
InvalidAttachmentId
: идентификатор вложения не существует.
Office Add-ins