java - 使用 java 在 Sharepoint 中读取 Excel 文件
问题描述
我在 Sharepoint 中有一个具有读取权限的 excel 文件,我需要使用 java 读取/下载它。下面的代码示例给出了 403 Forbidden 错误。请帮我解决这个问题。
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(AuthScope.ANY),
new NTCredentials("username", "password", "https://abc-my.sharepoint.com", "abc"));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider)
.build();
try {
HttpGet httpget = new HttpGet("https://abc-my.sharepoint.com/:x:/r/personal/_layouts/15/Doc.aspx?sourcedoc=%dedededed-9889-098-AAAA-wbxcdssj%7D&file=my_excel.xlsx");
CloseableHttpResponse response = httpclient.execute(httpget);
try {
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
解决方案
可以参考以下博客对java代码中的请求进行认证:<a href="https://www.wave-access.com/public_en/blog/2015/june/23/java-service-integration-with-sharepoint -online-via-rest-api.aspx" rel="nofollow noreferrer">Java 服务通过 REST API 与 SharePoint Online 集成
或者,您可以使用 Microsoft Graph API 读取 excel 文件并使用 SharePoint App-Only 授予访问权限。
Microsoft Graph Auth Preview SDK for Java
如何读取 EXCEL SHAREPOINT 文件 (JSON)中的元数据
推荐阅读
- r - 用 r 软件替换定量变量中的值
- flutter - Flutter websocket 在本地网络中工作但不在发布模式下
- flutter - AppBar中的分隔线没有出现
- c++ - 如何正确使用 localtime()?
- python - 我在 python 中的 speech.listen(source) 正在停滞
- python - 使用 requests.get 的 Python http 下载总是缺少一个块
- javascript - Firestore - 一次只能创建两个集合
- excel - 删除第一个和最后一个换行符
- machine-learning - 在 PyTorch 中,如何将 cuda() 相关代码转换为 CPU 版本?
- greenplum - 在Greenplum函数中将空数组作为参数传递