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

使用ADF Web Activity获取SharePoint文件夹文件名返回空值求助

解决ADF Web Activity调用SharePoint Graph API返回空数组问题

1. 排查Token权限范围

  • 确认获取token时的scope参数包含Sites.Read.All或Sites.ReadWrite.All。如果使用Sites.Selected,必须确保目标SharePoint站点已给服务主体授予对应权限。
  • 可以解码token(本地用jwt.io工具即可),查看scp字段,验证权限是否覆盖目标站点。

2. 校验API请求端点格式

  • 获取文件夹内容的正确Graph API端点格式为:
    https://graph.microsoft.com/v1.0/sites/{site-id}/drive/root:/{folder-relative-path}:/children
    
    或者使用站点域名+名称的写法:
    https://graph.microsoft.com/v1.0/sites/{domain}:/{site-name}:/drive/root:/{folder-relative-path}:/children
    
  • 注意{folder-relative-path}是相对于文档库根目录的路径,比如Documents/ProjectFiles,不要带开头斜杠,也不要使用SharePoint的完整站点URL。

3. 确认目标文件夹实际存在内容

  • 手动登录目标SharePoint站点,检查对应文件夹下是否真的有文件或子文件夹。空文件夹调用API自然会返回value: []。
  • 注意区分文档库根目录和子文件夹,比如默认文档库是Documents,如果要访问其下的子文件夹,路径要准确对应。

4. 检查Web Activity的请求配置

  • 确保Web2的请求方法为GET,而非POST或其他方法。
  • 确认请求头包含Accept: application/json(部分场景下缺失会导致响应格式异常),同时Authorization头的Bearer和token之间有空格(你当前的写法@{concat('Bearer ', activity('Web1').output.access_token)}是正确的,但可以再验证运行时的实际请求头)。
  • 查看Web Activity的完整输出,检查@odata.context字段是否正确指向目标站点,如果该字段正确但value为空,优先排查权限或文件夹内容。

5. 服务主体的站点级权限验证

  • 如果使用服务主体获取token,需确认服务主体在目标SharePoint站点的具体权限:
    1. 进入站点设置 -> 站点权限 -> 高级权限设置
    2. 给服务主体授予“读取”或更高权限
      即使token包含Sites.Read.All,若站点设置了权限限制,服务主体仍可能无法访问内容。

内容的提问来源于stack exchange,提问作者Greencolor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:27:13