PowerPoint.SensitivityLabelAbacAttribute interface

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

表示基于属性的访问控制 (ABAC) 可在启用 ABAC 的敏感度标签上选择的属性。

注解

API 集:PowerPointApi BETA (仅预览版)

使用方

示例

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

// Get available ABAC attributes and describe the kind of value each attribute accepts.
const container = document.getElementById("abac-attributes");
while (container.firstChild) {
  container.removeChild(container.firstChild);
}
await PowerPoint.run(async (context) => {
  const labelCatalog: PowerPoint.SensitivityLabelsCatalog = context.sensitivityLabelsCatalog;
  if (!labelCatalog) {
    console.warn("The sensitivity label catalog isn't available.");
    return;
  }

  labelCatalog.load("getLabelingCapabilities");
  await context.sync();

  const capabilities: PowerPoint.LabelingCapability[] = labelCatalog.getLabelingCapabilities;
  if (capabilities.indexOf(PowerPoint.LabelingCapability.attributeBasedAccessControlEnabled) === -1) {
    console.warn("ABAC attributes aren't enabled or available for the current user.");
    return;
  }

  const catalogAttributes: OfficeExtension.ClientResult<PowerPoint.SensitivityLabelAbacAttribute[]> =
    labelCatalog.getAttributes();
  await context.sync();

  if (catalogAttributes.value.length === 0) {
    console.log("No ABAC attributes are available in the sensitivity label catalog.");
    return;
  }

  console.log("Available ABAC attributes:");
  catalogAttributes.value.forEach((attribute: PowerPoint.SensitivityLabelAbacAttribute) => {
    let dataTypeDescription: string;
    switch (attribute.dataType) {
      case PowerPoint.SensitivityLabelAbacAttributeDataType.booleanValue:
        dataTypeDescription = "Boolean";
        break;
      case PowerPoint.SensitivityLabelAbacAttributeDataType.dateValue:
        dataTypeDescription = "Date";
        break;
      case PowerPoint.SensitivityLabelAbacAttributeDataType.numberValue:
        dataTypeDescription = "Number";
        break;
      case PowerPoint.SensitivityLabelAbacAttributeDataType.stringValue:
        dataTypeDescription = "String";
        break;
      case PowerPoint.SensitivityLabelAbacAttributeDataType.unknown:
        dataTypeDescription = "Unknown";
        break;
      default:
        dataTypeDescription = `Unrecognized (${attribute.dataType})`;
        break;
    }

    console.log(`ABAC attribute: ${attribute.displayName}`, {
      dataType: attribute.dataType,
      dataTypeDescription,
      displayOrder: attribute.displayOrder,
      isActive: attribute.isActive,
      isMultiValued: attribute.isMultiValued,
      values: attribute.values.map((attributeValue: PowerPoint.SensitivityLabelAbacAttributeValue) => ({
        displayName: attributeValue.displayName,
        displayOrder: attributeValue.displayOrder,
        id: attributeValue.id,
        isActive: attributeValue.isActive
      }))
    });
  });

  addAttributeOptions(catalogAttributes.value);
});

属性

dataType

获取 ABAC 属性的数据类型。

displayName

获取 ABAC 属性的显示名称。 加载项负责呈现面向用户的本地化 UI。

displayOrder

向用户显示时获取此 ABAC 属性的建议顺序。

isActive

获取此 ABAC 属性是否处于活动状态。 true 如果该属性处于活动状态;否则为 false.

isMultiValued

获取是否可以为此 ABAC 属性选择多个值。 true 如果是多选;否则为 false.

values

获取此 ABAC 属性的可选值。

属性详细信息

dataType

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取 ABAC 属性的数据类型。

dataType: PowerPoint.SensitivityLabelAbacAttributeDataType | "Unknown" | "StringValue" | "BooleanValue" | "NumberValue" | "DateValue";

属性值

PowerPoint.SensitivityLabelAbacAttributeDataType | "Unknown" | "StringValue" | "BooleanValue" | "NumberValue" | "DateValue"

注解

API 集:PowerPointApi BETA (仅预览版)

displayName

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取 ABAC 属性的显示名称。 加载项负责呈现面向用户的本地化 UI。

displayName: string;

属性值

string

注解

API 集:PowerPointApi BETA (仅预览版)

displayOrder

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

向用户显示时获取此 ABAC 属性的建议顺序。

displayOrder: number;

属性值

number

注解

API 集:PowerPointApi BETA (仅预览版)

isActive

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取此 ABAC 属性是否处于活动状态。 true 如果该属性处于活动状态;否则为 false.

isActive: boolean;

属性值

boolean

注解

API 集:PowerPointApi BETA (仅预览版)

isMultiValued

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取是否可以为此 ABAC 属性选择多个值。 true 如果是多选;否则为 false.

isMultiValued: boolean;

属性值

boolean

注解

API 集:PowerPointApi BETA (仅预览版)

values

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

获取此 ABAC 属性的可选值。

values: PowerPoint.SensitivityLabelAbacAttributeValue[];

属性值

注解

API 集:PowerPointApi BETA (仅预览版)