Почему я получаю код ответа 401 для доступа к файлу SharePoint?

Я хочу прочитать данные из строк файла xls в Java, код выглядит следующим образом:

      String clientSecret = "valid_secret";
String clientId = "valid_clientid";
String authority = "https://login.microsoftonline.com/valid_tenant_id/";
IConfidentialClientApplication app = ConfidentialClientApplication.builder(clientId, ClientCredentialFactory.createFromSecret(clientSecret))
        .authority(authority)
        .build();

ClientCredentialParameters parameters = ClientCredentialParameters.builder(Set.of("https://company-my.sharepoint.com/.default")).build();
CompletableFuture<IAuthenticationResult> future = app.acquireToken(parameters);

String accessToken = future.get().accessToken();

String sharePointUrl = "https://company-my.sharepoint.com";
String siteUrl = "/personal/valid_user";
String filePath = "/Documents/Documents/evaluation.txt";
String fileUrl = sharePointUrl + siteUrl + filePath;
URL url = new URI(fileUrl).toURL();
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer " + accessToken);
InputStream inputStream = conn.getInputStream();
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheetAt(0);
Row row = sheet.getRow(2);
Cell cell = row.getCell(2);
System.out.println(cell.getStringCellValue());

почему я получаю код ответа HTTP, возвращенный сервером: 401 для URL-адреса: https://company-my.sharepoint.com/personal/valid_user/Documents/Documents/evaluation.xlsx ? Тот же файл загружается мгновенно при доступе через браузер. На портале.azure.com я добавил необходимые регистрации приложений.

1 ответ

Попробуйте добавить ему разрешения, например:

Другие вопросы по тегам