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

Posted

技术标签:

【中文标题】在 React WebPart 中使用 httpClient.get 来自 GetFolderByServerRelativeUrl 的 MS Edge HTTP 403【英文标题】:MS Edge HTTP403 from GetFolderByServerRelativeUrl using httpClient.get in aReact WebPart 【发布时间】:2019-03-31 13:29:40 【问题描述】:

我只在 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)=> ...

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于在 React WebPart 中使用 httpClient.get 来自 GetFolderByServerRelativeUrl 的 MS Edge HTTP 403的主要内容,如果未能解决你的问题,请参考以下文章