You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MS Graph调用OneNote /pages接口返回空数组问题咨询

解决MS Graph获取OneNote页面返回空数组的问题

我之前排查过类似的场景,给你几个方向去试试:

  • 检查权限配置
    虽然/me/onenote/notebooks和/sections能正常返回,但/pages可能需要更明确的权限。确认你申请的Delegated权限是Notes.Read或Notes.ReadWrite(个人账号场景),如果是应用权限则需要Notes.Read.All或Notes.ReadWrite.All,并且确保权限已经完成管理员同意(如果是企业账号的话)。

  • 指定返回字段或缩小范围
    试试直接请求某个分区下的页面,比如调用GET https://graph.microsoft.com/v1.0/me/onenote/sections/{section-id}/pages,如果这个能返回内容,说明全局的/pages可能因为默认过滤或者分页问题没显示。另外可以加上$select参数明确要返回的字段:

    GET https://graph.microsoft.com/v1.0/me/onenote/pages?$select=id,title,contentUrl,lastModifiedDateTime
    
  • 确认页面的归属范围
    如果你访问的笔记本是属于Microsoft 365组、团队或者SharePoint站点的,/me路径是无法访问这些页面的。先调用/me/onenote/notebooks查看返回的笔记本对象,检查parentSiteUrl或owner字段,如果是团队/站点归属,需要切换到对应的路径:

    • 组场景:GET https://graph.microsoft.com/v1.0/groups/{group-id}/onenote/pages
    • 站点场景:GET https://graph.microsoft.com/v1.0/sites/{site-id}/onenote/pages
  • 排除工具或缓存问题
    如果是用Graph Explorer测试的,试试清空浏览器缓存、切换隐私窗口重新登录;或者用Postman发起请求,带上最新获取的AccessToken,排除工具层面的缓存干扰。

  • 检查页面状态
    默认情况下,Graph API不会返回已删除到回收站的页面。如果你的页面是被删除状态,可以加上过滤参数:

    GET https://graph.microsoft.com/v1.0/me/onenote/pages?$filter=isDeleted eq false
    

内容的提问来源于stack exchange,提问作者Jakub Lizińczyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:16:31