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

Sppull库下载SharePoint文件返回空数组问题求助

使用Sppull下载SharePoint文件返回空数组问题

执行Sppull下载代码后返回空数组,但SharePoint目标文件夹内确实存在待下载文件。

代码示例

const context = {
    siteUrl: 'https://<tenant>.sharepoint.com',
    creds: {
        username: "<username>@<tenant>.onmicrosoft.com",
        password: "***",
        online: true
    }
};

const options2 = {
    spRootFolder: "Shared%20Documents/docverify",
    dlRootFolder: "./docverify"
};

SPPull.download(context, options2)
  .then((downloadResults) => {
    console.log("Files are downloaded", downloadResults);
    console.log("For more, please check the results", JSON.stringify(downloadResults));
  })
  .catch((err) => {
    console.log("Core error has happened", err);
  });

执行输出

Files are downloaded []
For more please check the results []

补充信息

SharePoint目标文件夹Shared Documents/docverify内存在待下载文件(截图显示文件夹中有文件)。


排查与解决方法

  • 修正路径编码:将spRootFolder中的%20替换为空格,使用"Shared Documents/docverify",部分Sppull版本对编码后的路径解析存在兼容问题。
  • 验证账号权限:确认使用的账号对目标SharePoint文件夹有读取权限,手动登录SharePoint验证能否访问并下载文件。
  • 补全站点路径:若文件存放在子站点中,需在spRootFolder前添加站点相对路径,例如"/sites/[站点名称]/Shared Documents/docverify"。
  • 开启调试日志:在options2中添加verbose: true参数,输出详细请求日志,排查路径解析或权限相关问题:
    const options2 = {
        spRootFolder: "Shared Documents/docverify",
        dlRootFolder: "./docverify",
        verbose: true
    };
    
  • 显式设置文件过滤规则:添加fileExtensions: ["*"]参数强制下载所有类型文件,避免隐含过滤规则导致无文件匹配:
    const options2 = {
        spRootFolder: "Shared Documents/docverify",
        dlRootFolder: "./docverify",
        fileExtensions: ["*"]
    };
    
  • 更新Sppull版本:执行npm update sppull升级到最新版本,旧版本可能存在已知的路径解析或API调用bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:45:39