четверг, 15 сентября 2016 г.

spring-social-linkedin - как вызвать любой метод

Есть такая библиотека для работы с соцсетями из java ( на базе Spring Framework) - spring-social. У нее есть "подбиблиотеки" - например для работы с spring-social-linkedin - как следует из названия - для работы с LinkIn.

Библиотека удобная, но тут возникла задача - вытащить картинку аккаунта в оригинальном размере. Дело в том, что штатный LinkedInProfile.getProfilePictureUrl() возвращает маленьку картиночку 80x80

Среди штатным методов библиотеки такого нет. Выручает следующий код:


Connection<LinkedIn> connection = connectionRepository.findPrimaryConnection(LinkedIn.class);
LinkedIn linkedin = connection.getApi();
String url = "https://api.linkedin.com/v1/people/~/picture-urls::(original)?format=json"
JsonNode node = linkedin.restOperations().getForObject(url, JsonNode.class);

Таким образом можно легко вызвать любой метод API LinkedIn, преобразовать его в  JsonNode - ну и дальше уже разобрать как душе угодно