Поделиться через


Просмотр и изменение метаданных для надстройки Outlook

Управление пользовательскими данными в надстройке Outlook с помощью перемещаемых параметров, пользовательских свойств или данных сеанса. Эти параметры предоставляют доступ к пользовательским данным, доступным только надстройке Outlook, но каждый метод хранит данные отдельно от другого. То есть данные, хранящиеся с помощью перемещаемых параметров, недоступны для пользовательских свойств, и наоборот.

В следующей таблице представлен обзор доступных вариантов управления пользовательскими данными в надстройках Outlook.

Параметр пользовательских данных Минимальный набор требований Сфера применения Описание
Перемещаемые параметры 1.1 Mailbox Управляет пользовательскими данными в почтовом ящике пользователя. Надстройка, которая задает пользовательские данные, может получить к ним доступ с других поддерживаемых устройств, на которых настроен почтовый ящик пользователя. Сохраненные данные доступны в последующих сеансах Outlook.
Настраиваемые свойства 1.1 Почтовый элемент Управляет пользовательскими данными для почтового элемента в почтовом ящике пользователя. Надстройка, которая задает пользовательские данные, может получить к ним доступ из почтового элемента на поддерживаемых устройствах, где настроен почтовый ящик пользователя. Сохраненные данные доступны в последующих сеансах Outlook.
Данные сеансов 1.11 Почтовый элемент Управляет пользовательскими данными для почтового элемента в текущем сеансе Outlook пользователя. Надстройка, которая задает пользовательские данные, может получить к ним доступ только из почтового элемента во время его создания.

Примечание.

Сведения о наборах требований и поддерживаемых ими клиентах см. в разделе Наборы требований API JavaScript для Outlook.

Чтобы узнать больше о каждом параметре пользовательских данных, выберите соответствующую вкладку.

Вы можете указать данные, специфичные для пользователя почтового ящика Exchange, с помощью объекта RoamingSettings. Примерами таких данных являются личные данные и предпочтения пользователя. Ваша почтовая надстройка может получить доступ к параметрам перемещения, когда перемещение происходит на любом из устройств, предназначенных для работы (настольный ПК, планшет или смартфон).

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

Важно!

Хотя API надстройки Outlook ограничивает доступ к этим параметрам только надстройке, которая их создала, эти параметры не должны считаться безопасным хранилищем. К ней могут обращаться другие службы, например Microsoft Graph. Они не должны использоваться для хранения конфиденциальной информации, такой как учетные данные пользователя или маркеры безопасности.

Формат параметров перемещения

Данные в объекте RoamingSettings хранятся в виде сериализованной строки нотации объектов JavaScript (JSON).

Ниже приведен пример структуры, предполагающий наличие трех определенных перемещаемых параметров с именами add-in_setting_name_0, add-in_setting_name_1и add-in_setting_name_2.

{
  "add-in_setting_name_0": "add-in_setting_value_0",
  "add-in_setting_name_1": "add-in_setting_value_1",
  "add-in_setting_name_2": "add-in_setting_value_2"
}

Загрузка параметров перемещения

Почтовая надстройка обычно загружает параметры перемещения в обработчик Office.onReady . В следующем примере кода JavaScript показано, как загрузить существующие параметры роуминга и получить значения двух параметров: customerName и customerBalance.

let _mailbox;
let _settings;
let _customerName;
let _customerBalance;

Office.onReady((info) => {
  if (info.host === Office.HostType.Outlook) {
    // Initialize instance variables to access API objects.
    _mailbox = Office.context.mailbox;
    _settings = Office.context.roamingSettings;
    _customerName = _settings.get("customerName");
    _customerBalance = _settings.get("customerBalance");
  }
});

Создание или назначение параметра перемещения

В приведенном выше примере в следующей функции JavaScript показано, setAddInSettingкак использовать метод RoamingSettings.set для задания параметра с именем cookie с текущей датой. Затем он сохраняет данные с помощью метода RoamingSettings.saveAsync для сохранения всех перемещаемых параметров в почтовом ящике пользователя.

Метод set создает параметр, если параметр еще не существует, и присваивает ему указанное значение. Метод saveAsync асинхронно сохраняет перемещаемые параметры. В этом примере кода функция saveMyAddInSettingsCallbackобратного вызова передается saveAsyncв . После завершения saveMyAddInSettingsCallback асинхронного вызова вызывается с помощью одного параметра asyncResult. Этот параметр является объектом AsyncResult, который содержит результат и все сведения об асинхронном вызове. Необязательный параметр userContext можно использовать для передачи сведений о состоянии из асинхронного вызова в функцию обратного звонка.

// Set a roaming setting.
function setAddInSetting() {
  _settings.set("cookie", Date());
  // Save roaming settings to the mailbox, so that they'll be available in the next session.
  _settings.saveAsync(saveMyAddInSettingsCallback);
}

// Callback function after saving custom roaming settings.
function saveMyAddInSettingsCallback(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    // Handle the failure.
  }
}

Удаление параметра перемещения

В расширении предыдущего примера следующая функция JavaScript , показывает, removeAddInSettingкак использовать метод RoamingSettings.remove для удаления cookie параметра и сохранения всех перемещаемых параметров в почтовом ящике.

// Remove an add-in setting.
function removeAddInSetting()
{
  _settings.remove("cookie");
  // Save changes to the roaming settings for the mailbox, so that they'll be available in the next Outlook session.
  _settings.saveAsync(saveMyAddInSettingsCallback);
}

Попробуйте пример кода в Script Lab

Чтобы узнать, как создать объект RoamingSettings и управлять им, получите Script Lab для надстройки Outlook и опробуйте пример "Использование параметров надстройки". Дополнительные сведения о Script Lab см. в статье Изучение API JavaScript для Office с помощью Script Lab.

См. также