PowerPoint.SensitivityLabelAbacAttribute interface
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
表示基于属性的访问控制 (ABAC) 可在启用 ABAC 的敏感度标签上选择的属性。
注解
API 集:PowerPointApi BETA (仅预览版)
使用方
- PowerPoint.SensitivityLabelTryUpdateOptions: abacAttributes
- PowerPoint.SensitivityLabelsCatalog: getAttributes
示例
// 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);
});
属性
| data |
获取 ABAC 属性的数据类型。 |
| display |
获取 ABAC 属性的显示名称。 加载项负责呈现面向用户的本地化 UI。 |
| display |
向用户显示时获取此 ABAC 属性的建议顺序。 |
| is |
获取此 ABAC 属性是否处于活动状态。
|
| is |
获取是否可以为此 ABAC 属性选择多个值。
|
| values | 获取此 ABAC 属性的可选值。 |
属性详细信息
dataType
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取 ABAC 属性的数据类型。
dataType: PowerPoint.SensitivityLabelAbacAttributeDataType | "Unknown" | "StringValue" | "BooleanValue" | "NumberValue" | "DateValue";
属性值
PowerPoint.SensitivityLabelAbacAttributeDataType | "Unknown" | "StringValue" | "BooleanValue" | "NumberValue" | "DateValue"
注解
displayName
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取 ABAC 属性的显示名称。 加载项负责呈现面向用户的本地化 UI。
displayName: string;
属性值
string
注解
displayOrder
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
向用户显示时获取此 ABAC 属性的建议顺序。
displayOrder: number;
属性值
number
注解
isActive
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取此 ABAC 属性是否处于活动状态。
true 如果该属性处于活动状态;否则为 false.
isActive: boolean;
属性值
boolean
注解
isMultiValued
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取是否可以为此 ABAC 属性选择多个值。
true 如果是多选;否则为 false.
isMultiValued: boolean;
属性值
boolean
注解
values
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
获取此 ABAC 属性的可选值。
values: PowerPoint.SensitivityLabelAbacAttributeValue[];