首页 > 解决方案 > 来自 GetFolderByServerRelativeUrl 的 MS Edge HTTP403 在 React WebPart 中使用 httpClient.get

问题描述

我只在 MS Edge 中获得 HTTP403。我已经在许多其他浏览器中进行了测试,并且 .get 工作正常。我正在创建要在我们的 SharePoint Online 环境中使用的 React WebPart。我要获取的文件是存储在文档库中的 csv 文件。我正在使用 web 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)=>{ ...

当然希望有人以前解决过这个问题。感谢您的时间和帮助。

标签: reactjssharepoint-onlinespfx

解决方案


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

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

spHttpClient专为与 SharePoint REST API 对话而httpClient构建,而旨在与 SharePoint 之外的 API 交互。


推荐阅读