Получить события календаря из Outlook.com с помощью Java API
Я хочу получить все события календаря от Outlook.com, используя Java API. Я проверил этот код для подключения:
public void findChildFolders(String username, String password) throws Exception
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
ExchangeCredentials credentials = new WebCredentials(username, password);
// URI jira_url = URI.create("outlook.live.com");
service.autodiscoverUrl(username, new RedirectionUrlCallback());
service.setCredentials(credentials);
FindFoldersResults findResults = service.findFolders(WellKnownFolderName.Inbox, new FolderView(Integer.MAX_VALUE));
for (Folder folder : findResults.getFolders())
{
System.out.println("Count======" + folder.getChildFolderCount());
System.out.println("Name=======" + folder.getDisplayName());
}
}
static class RedirectionUrlCallback implements IAutodiscoverRedirectionUrl
{
@Override
public boolean autodiscoverRedirectionUrlValidationCallback(
String redirectionUrl)
{
return redirectionUrl.toLowerCase().startsWith("https://");
}
}
Но я получаю стек ошибок:
microsoft.exchange.webservices.data.autodiscover.exception.AutodiscoverLocalException: The Autodiscover service couldn't be located.
at microsoft.exchange.webservices.data.autodiscover.AutodiscoverService.internalGetLegacyUserSettings(AutodiscoverService.java:742)
Как правильно реализовать этот код?
1 ответ
Полный рабочий пример получения календаря ресурсов комнаты находится здесь: API Office365 - администратор, который получает доступ к событиям других пользователей / календаря комнаты. Вы можете легко адаптировать код для получения событий календаря от того же пользователя, который был аутентифицирован, или другого пользователя / электронного адреса / ресурса, если ваш аутентифицированный пользователь имеет права на него.