Graph Shares Root API无法返回超200项,如何获取全部共享文件夹内容?
问题详情
调用Graph API获取共享SharePoint文件夹全部内容时遇到分页限制,当前请求地址:https://graph.microsoft.com/v1.0/shares/u!{folder}=/root?expand=children
返回结果示例:
{ "children": [], // 仅返回最多200项 "folder": { "childCount": 216 } }
文件夹实际包含216项内容,但无法一次性获取全部。已尝试以下方法均无效:
- 添加
&$top=999:仍仅返回200项 - 添加
&$count=true:该端点不支持此参数 - 尝试使用
&$skipToken:响应中未找到@odata.nextLink
解决方法
问题根源在于使用expand=children方式获取子项,该方式存在200项的硬限制且不支持标准分页参数。正确做法是直接调用子项列表端点:
替换原请求为子项专属端点:
https://graph.microsoft.com/v1.0/shares/u!{folder}/root/children利用标准分页参数获取全部内容:
- 使用
$top设置单页最大返回数(上限为999),示例:https://graph.microsoft.com/v1.0/shares/u!{folder}/root/children?$top=999 - 若响应中包含
@odata.nextLink,继续请求该链接获取剩余内容,直至无@odata.nextLink返回,即可拿到全部216项。
- 使用
若需同时获取文件夹元数据(如childCount),可分开两次请求,或通过Graph API批量请求合并两次调用。
内容的提问来源于stack exchange,提问作者Daniel Ehrhardt
相关产品推荐
相关产品推荐

