在React WebPart中使用httpClient.get从GetFolderByServerRelativeUrl



我只在MS Edge中获得HTTP403。我已经在许多其他浏览器中进行了测试,.get运行良好。我正在创建一个React WebPart,用于我们的SharePoint OnLine环境。我试图获取的文件是存储在文档库中的csv文件。我正在使用web api GetFolderByServerRelativeUrl进行rest调用。这是剪报:

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进行交互而构建的。

最新更新