Word.SensitivityLabelAbacAttributeValue interface
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
表示敏感度标签 (ABAC) 属性值的单个基于属性的访问控制。
注解
使用方
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/99-preview-apis/manage-sensitivity-labels.yaml
await Word.run(async (context) => {
// Get the sensitivity label currently applied to the document.
const wordDocument: Word.Document = context.document;
const documentLabel: Word.SensitivityLabel = wordDocument.sensitivityLabel;
const currentLabel: Word.SensitivityLabelDetails = documentLabel.getCurrentOrNullObject();
// Load the properties of the label currently applied to the document.
currentLabel.load(
"color,id,isAbacAttributesRequired,isAbacEnabled,isEnabled,name,order,protectionType,siteId,tooltip"
);
await context.sync();
if (currentLabel.isNullObject) {
console.log("The document doesn't have a sensitivity label.");
return;
}
// Load ABAC values when supported.
let abacAttributeValues: Word.SensitivityLabelAbacAttributeValue[] = [];
const isAbacEnabled = currentLabel.isAbacEnabled;
if (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: Word.SensitivityLabelAbacAttributeValue) =>
`${attributeValue.displayName} (ID: ${attributeValue.id}, order: ${attributeValue.displayOrder}, active: ${attributeValue.isActive ? "Yes" : "No"})`
)
.join(", ")
: "None";
let protectionDescription: string;
switch (currentLabel.protectionType) {
case Word.SensitivityLabelProtectionType.adminDefined:
protectionDescription = "Defined by an administrator";
break;
case Word.SensitivityLabelProtectionType.userDefined:
protectionDescription = "Defined by the user";
break;
case Word.SensitivityLabelProtectionType.noProtection:
protectionDescription = "No protection";
break;
default:
protectionDescription = `Unknown (${currentLabel.protectionType})`;
break;
}
console.log(
`Current document 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}`
);
});
属性
| display |
ABAC 属性值的显示名称。 |
| display |
ABAC 属性值的显示顺序。 |
| id | ABAC 属性值的唯一标识符。 |
| is |
指示 ABAC 属性值是否处于活动状态。 |
属性详细信息
displayName
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
ABAC 属性值的显示名称。
displayName: string;
属性值
string
注解
displayOrder
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
ABAC 属性值的显示顺序。
displayOrder: number;
属性值
number
注解
id
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
ABAC 属性值的唯一标识符。
id: string;
属性值
string
注解
isActive
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
指示 ABAC 属性值是否处于活动状态。
isActive: boolean;
属性值
boolean