如何使用Microsoft Graph创建派生自系统父内容类型的content types?
解决方案:使用Microsoft Graph创建派生自系统内容类型的自定义内容类型
嗨,我刚好处理过类似的需求!其实用Microsoft Graph创建派生自系统内容类型的自定义内容类型是完全可行的,只是官方文档里这块的示例不算太突出,我给你梳理一下具体步骤:
第一步:确定系统父内容类型的ID
系统自带的核心内容类型有固定的ID,直接复用就行:- 基础Item类型:
0x01 - Document类型:
0x0101 - 文件夹类型:
0x0120
如果是其他系统类型(比如任务、事件),可以通过Graph API先列出站点的所有内容类型,筛选出目标系统类型的ID:
GET /sites/{site-id}/contentTypes返回结果里,系统内容类型的
name通常是默认名称(比如"Document"),parentId会指向更上层的系统类型。- 基础Item类型:
第二步:构造创建请求
发送POST请求到站点的contentTypes端点,请求体中指定parentId为目标系统内容类型的ID,同时设置自定义内容类型的名称、分组、字段等:POST /sites/{site-id}/contentTypes Content-Type: application/json { "name": "自定义合同文档类型", "description": "派生自系统Document类型的自定义合同文档模板", "parentId": "0x0101", "group": "自定义内容类型组", "fields": [ { "name": "ContractNumber", "displayName": "合同编号", "type": "text", "required": true } ] }这里的
fields可以添加自定义字段,父类型的默认字段会自动继承,不需要额外声明。第三步:权限与注意事项
- 确保你的应用拥有足够的权限:推荐使用
Sites.Manage.All(应用权限)或Sites.FullControl.All(委派权限),具体根据你的场景选择。 - 部分特殊系统内容类型可能限制派生(比如某些内置的敏感类型),但常用的Item、Document、Folder都是支持的。
- 创建完成后,可以通过
GET /sites/{site-id}/contentTypes/{new-content-type-id}/parents验证继承关系,确认是否正确关联到系统父类型。
- 确保你的应用拥有足够的权限:推荐使用
内容的提问来源于stack exchange,提问作者Pavlo Mykhailyshyn
相关产品推荐
相关产品推荐

