首页 > 解决方案 > 使用 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();
        }

标签: javaexcelsharepointapache-poi

解决方案


可以参考以下博客对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)中的元数据


推荐阅读