如何通过Microsoft Graph API访问Office 365中嵌套的SharePoint文件夹?
我来帮你搞定这个嵌套文件夹的Graph API访问问题!你遇到的核心问题是文档库名称写错了,还有路径格式的小细节需要调整,下面一步步来:
一、直接构造正确的路径请求
你的目标文件夹在名为Our Docs的文档库下,而不是默认的Documents,所以要把路径里的Documents替换成Our Docs,同时注意空格要转义成%20。
正确的Graph API GET请求应该是:
GET https://graph.microsoft.com/v1.0/sites/mycorp.sharepoint.com:/Our%20Docs/Marketing/Company/Images:/items
- 这个请求会直接返回该文件夹下的所有文件(包括你的JPG文件)和子文件夹。
- 如果只想获取文件夹本身的信息(比如ID、创建时间等),可以去掉末尾的
:/items,改成:GET https://graph.microsoft.com/v1.0/sites/mycorp.sharepoint.com:/Our%20Docs/Marketing/Company/Images:
二、另一种分步请求方式(适合复杂场景)
如果担心路径写错,也可以分步获取:
- 获取站点信息:先确认你的SharePoint站点ID
GET https://graph.microsoft.com/v1.0/sites/mycorp.sharepoint.com - 获取文档库(Drive)ID:从返回的站点信息里找到
drives数组,定位到名称为Our Docs的drive,记下它的id - 获取文件夹下的内容:用drive ID构造请求
GET https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/Marketing/Company/Images:/children
三、关键注意事项
- 权限要求:确保你的应用或账号有
Files.Read、Files.ReadWrite(按需选择)的委派权限或应用权限,并且已经完成授权。 - 路径转义:所有空格和特殊字符都要URL转义(比如空格→
%20),避免请求报错。 - 站点格式:
sites/mycorp.sharepoint.com这种格式是有效的“域名站点”引用方式,不需要提前获取站点ID,适合快速测试。
内容的提问来源于stack exchange,提问作者aherrick
相关产品推荐
相关产品推荐

