升级MsGraph C# SDK至5.x后,如何在OneDrive根目录创建文件夹?
关于MsGraph C# SDK 4.x升级至5.x创建OneDrive根目录文件夹的写法确认
你的替代写法是安全且符合SDK 5.x设计逻辑的,具体说明如下:
写法的合理性
- SDK 5.x重构了DriveItem的路径导航逻辑,Root对象不再直接暴露Children属性,需要通过
ItemWithPath("/")明确指定根目录的路径节点,再调用Children的PostAsync方法发起请求。 - 该写法最终生成的请求地址与官方要求的
/drives/{drive-id}/root/children完全一致,和原4.x代码的功能完全等价,能够正常创建OneDrive根目录的子文件夹。
- SDK 5.x重构了DriveItem的路径导航逻辑,Root对象不再直接暴露Children属性,需要通过
补充说明
- 官方文档明确POST到
/drives/{drive-id}/root/children是创建根目录子项的标准接口,你的写法完全匹配该接口的调用逻辑。 - 在微软Graph .NET SDK的官方社区讨论中,也确认了通过
ItemWithPath("/")导航到根目录后访问Children的方式是合法的替代方案。
- 官方文档明确POST到
另外,也可以使用更简洁的写法,直接通过Root对象的PostAsync方法并指定PostAs参数:
await client.Drives[someDriveId].Root.PostAsync(newFolderItem, configuration: new DriveItemPostConfiguration { PostAs = "children" });
这个写法和你提供的替代方案功能一致,都是官方认可的合法写法。
内容的提问来源于stack exchange,提问作者23W
相关产品推荐
相关产品推荐

