Бөлісу құралы:


Просмотр или изменение темы при создании встречи или сообщения в Outlook

API JavaScript для Office предоставляет асинхронные методы (subject.getAsync и subject.setAsync) для получения и задания темы встречи или сообщения, которые создает пользователь. Эти асинхронные методы доступны только для создания надстроек. Чтобы использовать эти методы, убедитесь, что вы настроили манифест только надстройки соответствующим образом, чтобы Outlook активировал надстройку в формах создания.

Свойство subject доступно для чтения в формах создания и чтения встреч и сообщений. В форме чтения доступ к свойству непосредственно из родительского объекта, как в:

Office.context.mailbox.item.subject;

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

Office.context.mailbox.item.subject.getAsync(callback);

Свойство subject доступно для доступа к записи только в формах создания, но не в формах чтения.

Совет

Чтобы временно задать содержимое, отображаемое в теме сообщения в режиме чтения, используйте Office.context.mailbox.item.display.subject (предварительная версия).

Как и большинство асинхронных методов в API JavaScript для Office, getAsync и setAsync принимают необязательные входные параметры. Дополнительные сведения о том, как указать эти необязательные входные параметры, см. в разделе Передача необязательных параметров в асинхронные методы статьи Асинхронное программирование в надстройках Office.

Получение темы

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

Чтобы использовать item.subject.getAsync, предоставьте функцию обратного вызова, которая проверяет состояние и результат асинхронного вызова. Вы можете указать любые необходимые аргументы для функции обратного вызова с помощью необязательного asyncContext параметра. Чтобы получить состояние, результаты и любую ошибку из функции обратного вызова, используйте asyncResult выходной параметр обратного вызова. Если асинхронный вызов выполнен успешно, используйте свойство AsyncResult.value , чтобы получить тему в виде строки обычного текста.

let item;

// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
    if (info.host === Office.HostType.Outlook) {
        item = Office.context.mailbox.item;
        getSubject();
    }
});

// Gets the subject of the item that the user is composing.
function getSubject() {
    item.subject.getAsync((asyncResult) => {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            write(asyncResult.error.message);
            return;
        }

        // Display the subject on the page.
        write(`The subject is: ${asyncResult.value}`);
    });
}


// Writes to a div with id="message" on the page.
function write(message) {
    document.getElementById("message").innerText += message; 
}

Установка темы

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

Чтобы использовать item.subject.setAsync, укажите строку не более 255 символов в параметре data . При необходимости можно указать функцию обратного вызова и любые аргументы для функции обратного вызова в параметре asyncContext . Проверьте состояние обратного вызова, результат и любое сообщение об ошибке в выходном asyncResult параметре обратного вызова. Если асинхронный вызов выполнен успешно, setAsync вставляет указанную строку субъекта в виде обычного текста, перезаписав все существующие темы для этого элемента.

let item;

// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
    if (info.host === Office.HostType.Outlook) {
        item = Office.context.mailbox.item;
        setSubject();
    }
});

// Sets the subject of the item that the user is composing.
function setSubject() {
    // Customize the subject with today's date.
    const today = new Date();
    const subject = `Summary for ${today.toLocaleDateString()}`;

    item.subject.setAsync(
        subject,
        { asyncContext: { optionalVariable1: 1, optionalVariable2: 2 } },
        (asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Failed) {
                write(asyncResult.error.message);
                return;
            }

            /*
              The subject was successfully set.
              Run additional operations appropriate to your scenario and
              use the optionalVariable1 and optionalVariable2 values as needed.
            */
        });
}

// Writes to a div with id="message" on the page.
function write(message) {
    document.getElementById("message").innerText += message; 
}

См. также