我仅在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)=>{ ...
当然希望有人以前已经解决了这个问题。感谢您的时间和帮助。
答案 0 :(得分:0)
您需要在代码中使用spHttpClient
而不是httpClient
。
因此,将您的代码修改为this.props.context.spHttpClient.get(...)
,它将开始起作用。
spHttpClient
是专门为与SharePoint REST API对话而构建的,而httpClient
是为与SharePoint之外的API交互而构建的。