创建DriveItem时遇invalidRequest错误,求解决方案
问题解决思路
核心原因
你调用的POST https://graph.microsoft.com/v1.0/drives/{driveId}/items/{itemId}/children接口,路径中的{itemId}已经明确指定了新DriveItem的父容器,此时请求体中再传入parentReference属于重复定义,违反了该接口的请求规则,这就是报错The item cannot contain a parentReference的直接原因。
解决方案
- 修正当前请求:移除请求体里的
parentReference字段,只保留必要的file和name即可,示例请求体如下:
{ "file": {}, "name": "....pdf" }
- 如需指定其他父容器:如果要将文件创建到别的父目录下,直接修改接口路径中的
{driveId}和{itemId}为目标父项的对应ID,请求体依然不需要包含parentReference。
补充说明
虽然DriveItem实体本身支持parentReference字段,但在通过/children端点创建子项的场景中,父项是由路径参数唯一确定的,请求体中不允许重复指定该字段。这是接口的设计逻辑,并非API的临时变更,可能是你之前混淆了实体结构定义和特定接口的请求规则。
内容的提问来源于stack exchange,提问作者Emre Türkiş
相关产品推荐
相关产品推荐

