使用Microsoft Graph API更新PowerPoint自定义元数据报错求助
可以通过Microsoft Graph API为PowerPoint文件添加/更新自定义元数据,但你当前的请求存在类型错误
错误原因
microsoft.graph.openTypeExtension仅适用于Outlook相关资源(如邮件、日历事件),不支持OneDrive/SharePoint中的文件项,因此会返回类型不识别的错误。
正确实现方案
方案1:使用addIns端点添加自定义扩展元数据
这是OneDrive文件支持的标准扩展方式,无需预先定义字段:
- 请求地址:
POST https://graph.microsoft.com/v1.0/me/drive/items/{file-id}/addIns
- 请求头:
Content-Type: application/jsonAuthorization: Bearer {access_token}
- 请求体:
{ "@odata.type": "microsoft.graph.driveItemAddIn", "id": "customMetadata", "properties": { "customProperty1": "Value1", "customProperty2": "Value2" } }
- 后续查询该元数据可使用:
GET https://graph.microsoft.com/v1.0/me/drive/items/{file-id}/addIns
方案2:直接更新文件的自定义字段(适用于SharePoint文档库/OneDrive商业版)
如果文件存储在SharePoint文档库或OneDrive商业版中,可直接操作文件的自定义字段:
- 先在文档库中预先创建对应的自定义字段(如在SharePoint站点中添加站点列)
- 发送PATCH请求更新:
- 请求地址:
PATCH https://graph.microsoft.com/v1.0/me/drive/items/{file-id}/fields
- 请求头:
Content-Type: application/jsonAuthorization: Bearer {access_token}
- 请求体:
{ "customProperty1": "Value1", "customProperty2": "Value2" }
权限说明
你当前配置的User.ReadWrite.All和User.ReadWrite权限足以支持方案1;若使用方案2操作SharePoint文档库字段,可能需要补充Sites.ReadWrite.All权限。
内容的提问来源于stack exchange,提问作者akaparadox
相关产品推荐
相关产品推荐

