来自GetFolderByServerRelativeUrl的MS Edge HTTP403,使用aReact WebPart中的httpClient.get

时间:2018-10-26 18:42:48

标签: reactjs sharepoint-online spfx

我仅在MS Edge中收到HTTP403。我已经在许多其他浏览器中进行了测试,.get可以正常工作。我正在创建一个React WebPart以在我们的SharePoint OnLine环境中使用。我要获取的文件是存储在文档库中的csv文件。我正在将Web API GetFolderByServerRelativeUrl用于其余调用。这是snipit:

   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 个答案:

答案 0 :(得分:0)

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

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

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