schemaExtension 资源类型(架构扩展)
命名空间:microsoft.graph
可以通过架构扩展定义架构来扩展强类型的自定义数据并将其添加到资源类型。 自定义数据在扩展资源上作为复杂类型显示。 以下资源类型支持架构扩展:
- user
- group
- administrativeUnit
- application
- 联系人
- 设备
- 事件 (适用于用户和组日历)
- 邮件
- 组织
- 帖子
- todoTask
- todoTaskList
使用此资源和关联的方法来管理 架构扩展定义。 要管理扩展资源实例上的架构扩展数据,请使用你用于管理资源实例的同一 REST 请求。 请参阅架构扩展示例了解如何将自定义数据添加到组。
有关Microsoft Graph扩展性的详细信息,包括架构扩展的限制, 请参阅使用扩展向资源添加自定义属性。
方法
| 方法 | 返回类型 | 说明 |
|---|---|---|
| 创建 | schemaExtension | 创建架构扩展定义。 |
| List | schemaExtension | 列出可用的 schemaExtension 定义及其属性。 |
| Get | schemaExtension | 读取特定的 schemaExtension 定义的属性。 |
| Update | schemaExtension | 更新 schemaExtension 定义。 |
| Delete | 无 | 删除 schemaExtension 定义。 |
属性
| 属性 | 类型 | 说明 |
|---|---|---|
| 说明 | String | 架构扩展的说明。支持$filter(eq)。 |
| id | String | 架构扩展定义的唯一标识符。 你可以使用下面两种方法之一分配值:
$filter(eq)。注意: 我们 建议 ID 以 A-Z 之间的字母开头,因为查询功能可能限制为以整数开头的 ID。 |
| 所有者 | String | 属于架构扩展的所有者的应用程序的 appId。 可在创建时提供此属性以设置所有者。 如果未提供,则会将调用应用程序的 appId 设置为所有者。 在任一情况下,已登录用户均必须是应用程序的所有者。 因此,如果使用 Graph 浏览器新建一个架构扩展定义,则 必须 提供 owner 属性(以此为例)。 设置后,此属性为只读,且无法更改。 支持 $filter(eq)。 |
| properties | extensionSchemaProperty 集合 | 构成架构扩展定义的属性名称和类型的集合。 |
| status | String | 架构扩展的生命周期状态。 可能的状态为 InDevelopment、Available 和 Deprecated。 创建后将自动设置为 InDevelopment。 有关可能的状态转换和行为的详细信息,请参阅 架构扩展生命周期。 支持 $filter(eq)。 |
| targetTypes | String collection | 架构扩展适用的支持扩展的 Microsoft Graph 类型集。 从 administrativeUnit、 联系人、 设备、 事件、 组、 消息、 组织、 帖子、 todoTask、 todoTaskList 或 用户 中进行选择。 |
架构扩展生命周期
当应用创建架构扩展定义时,系统会将该应用标记为该架构扩展的所有者。
所有者应用可以在 状态 属性上使用 PATCH 操作将扩展转换为生命周期中的不同状态。基于当前状态,所有者应用可以更新或删除扩展。架构扩展的任何更新始终只能累加且不能间断。
| 状态 | 生命周期状态行为 |
|---|---|
| InDevelopment |
|
| 可用 |
|
| 不推荐使用 |
|
注意: 其他开发人员从其他租户创建的架构扩展定义(标记为
Available)对所有开发人员可见(通过列出所有架构扩展)。 这不同于仅返回租户特定数据的其他 API。 另一方面,基于架构扩展定义创建的扩展数据是特定于租户的,并且只能由被显式授予权限的应用访问。
JSON 表示形式
下面是资源的 JSON 表示形式。
{
"description": "String",
"id": "String (identifier)",
"owner": "String",
"properties": [{"@odata.type": "microsoft.graph.extensionSchemaProperty"}],
"status": "String",
"targetTypes": ["String"]
}
另请参阅
反馈
提交和查看相关反馈