在 React WebPart 中使用 httpClient.get 来自 GetFolderByServerRelativeUrl 的 MS Edge HTTP 403

MS Edge HTTP403 from GetFolderByServerRelativeUrl using httpClient.get in aReact WebPart

我只在 MS Edge 中收到 HTTP403。我已经在许多其他浏览器中进行了测试,并且 .get 工作正常。我正在创建一个要在我们的 SharePoint OnLine 环境中使用的 React WebPart。我要获取的文件是存储在文档库中的 csv 文件。我正在使用网络 api GetFolderByServerRelativeUrl 进行其余调用。这是片段:

   fileUrl =  "..._api/web/GetFolderByServerRelativeUrl('Shared%20Documents')/Files('file.csv')/$value";
    const csvHeaders: Headers = new Headers();
    csvHeaders.append("Content-type","text/csv");
    csvHeaders.append("Cache-Control","no-cache");
    const csvOpts: IHttpClientOptions = {
      headers: csvHeaders
    };   

this.props.context.httpClient.get(fileUrl,HttpClient.configurations.v1,csvOpts).then((response: HttpClientResponse)=>{ ...

当然希望有人已经解决了这个问题。感谢您的时间和帮助。

您需要在代码中使用 spHttpClient 而不是 httpClient

因此,将您的代码修改为 this.props.context.spHttpClient.get(...),它应该会开始工作。

spHttpClient 专门用于与 SharePoint REST API 交互,而 httpClient 用于与 SharePoint 外部的 API 交互。