PowerPoint.SensitivityLabel class

Примечание

Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.

Представляет метку конфиденциальности в презентации.

Extends

Свойства

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

Методы

getCurrentOrNullObject()

Получает текущие сведения о метке, существующей в презентации для пользователя. Если в текущей презентации отсутствует метка конфиденциальности, возвращается объект со свойством isNullObject "В true ". Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный PowerPoint.SensitivityLabel объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как PowerPoint.Interfaces.SensitivityLabelData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

tryToUpdate(labelId, options)

Пытается обновиться до предоставленной метки конфиденциальности в презентации для пользователя. Для меток с поддержкой ABAC передайте нужные выбранные атрибуты через options.abacAttributes.

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

context

Примечание

Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

context: RequestContext;

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

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

getCurrentOrNullObject()

Примечание

Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.

Получает текущие сведения о метке, существующей в презентации для пользователя. Если в текущей презентации отсутствует метка конфиденциальности, возвращается объект со свойством isNullObject "В true ". Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getCurrentOrNullObject(): PowerPoint.SensitivityLabelDetails;

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

Текущий SensitivityLabelDetails объект.

Комментарии

Набор API: PowerPointApi BETA (ТОЛЬКО ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ)

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml

await PowerPoint.run(async (context) => {
  // Get the sensitivity label currently applied to the presentation.
  const presentation: PowerPoint.Presentation = context.presentation;
  const presentationLabel: PowerPoint.SensitivityLabel = presentation.sensitivityLabel;

  const currentLabel: PowerPoint.SensitivityLabelDetails = presentationLabel.getCurrentOrNullObject();
  // Load the properties of the label currently applied to the presentation.
  currentLabel.load(
    "color,id,isAbacAttributesRequired,isAbacEnabled,isEnabled,name,order,protectionType,siteId,tooltip"
  );
  await context.sync();

  if (currentLabel.isNullObject) {
    console.log("The presentation doesn't have a sensitivity label.");
    return;
  }

  // Get ABAC values when enabled for the label.
  let abacAttributeValues: PowerPoint.SensitivityLabelAbacAttributeValue[] = [];
  if (currentLabel.isAbacEnabled) {
    currentLabel.load("abacAttributeValues");
    await context.sync();

    abacAttributeValues = currentLabel.abacAttributeValues;
  }

  // Display the loaded properties of the current label.
  const attributeValues = abacAttributeValues.length
    ? abacAttributeValues
        .map(
          (attributeValue: PowerPoint.SensitivityLabelAbacAttributeValue) =>
            `${attributeValue.displayName} (ID: ${attributeValue.id}, order: ${attributeValue.displayOrder}, active: ${attributeValue.isActive ? "Yes" : "No"})`
        )
        .join(", ")
    : "None";

  let protectionDescription: string;
  switch (currentLabel.protectionType) {
    case PowerPoint.SensitivityLabelProtectionType.adminDefined:
      protectionDescription = "Defined by an administrator";
      break;
    case PowerPoint.SensitivityLabelProtectionType.userDefined:
      protectionDescription = "Defined by the user";
      break;
    case PowerPoint.SensitivityLabelProtectionType.noProtection:
      protectionDescription = "No protection";
      break;
    default:
      protectionDescription = `Unknown (${currentLabel.protectionType})`;
      break;
  }

  console.log(
    `Current presentation sensitivity label:\n\n${currentLabel.name}\n` +
    `  ID: ${currentLabel.id}\n` +
    `  Site ID: ${currentLabel.siteId}\n` +
    `  Tooltip: ${currentLabel.tooltip}\n` +
    `  Color: ${currentLabel.color}\n` +
    `  Enabled: ${currentLabel.isEnabled ? "Yes" : "No"}\n` +
    `  Display order: ${currentLabel.order}\n` +
    `  ABAC enabled: ${currentLabel.isAbacEnabled ? "Yes" : "No"}\n` +
    `  ABAC attributes required: ${currentLabel.isAbacAttributesRequired ? "Yes" : "No"}\n` +
    `  ABAC attribute values: ${attributeValues}\n` +
    `  Protection type: ${protectionDescription}`
  );
});

toJSON()

Примечание

Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный PowerPoint.SensitivityLabel объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как PowerPoint.Interfaces.SensitivityLabelData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

toJSON(): {
            [key: string]: string;
        };

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

{ [key: string]: string; }

tryToUpdate(labelId, options)

Примечание

Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.

Пытается обновиться до предоставленной метки конфиденциальности в презентации для пользователя. Для меток с поддержкой ABAC передайте нужные выбранные атрибуты через options.abacAttributes.

tryToUpdate(labelId: string, options?: PowerPoint.SensitivityLabelTryUpdateOptions): OfficeExtension.ClientResult<PowerPoint.SensitivityLabelUpdateResult>;

Параметры

labelId

string

Идентификатор метки, которую нужно применить.

options
PowerPoint.SensitivityLabelTryUpdateOptions

Необязательный параметр. Дополнительные входные данные, влияющие на обновление, такие как выбор атрибутов ABAC для меток с поддержкой ABAC.

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

Объект SensitivityLabelUpdateResult .

Комментарии

Набор API: PowerPointApi BETA (ТОЛЬКО ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ)

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml

await PowerPoint.run(async (context) => {
  // Apply the selected sensitivity label to the presentation.
  const labelId = (document.getElementById("label-id") as HTMLSelectElement).value;
  if (!labelId) {
    console.warn("Get the available labels, and then select a label to apply.");
    return;
  }

  const presentation: PowerPoint.Presentation = context.presentation;
  const presentationLabel: PowerPoint.SensitivityLabel = presentation.sensitivityLabel;

  const updateResult: OfficeExtension.ClientResult<PowerPoint.SensitivityLabelUpdateResult> =
    presentationLabel.tryToUpdate(labelId);
  await context.sync();

  if (updateResult.value.status === PowerPoint.SensitivityLabelUpdateStatus.success) {
    console.log("Applied the sensitivity label to the presentation.");
  } else {
    console.error(`The sensitivity label wasn't applied. Status: ${updateResult.value.status}`);
  }
});