2014-02-11 2 views
5

Я использую spring-social-facebook для взаимодействия с Graph API (1.0.3.RELEASE, если это метр).
И я не могу найти какую-либо операцию для получения URL-адреса профиля профиля. Я нашел только операции, которые возвращают массив байтов, и они не очень удобны для реализации.
Существует ли какая-либо операция, которая восстанавливает URL-адрес изображения в Spring Social?
Если нет, есть ли «обходное» обходное решение для этого?
Спасибо!Как получить изображение профиля профиля из Facebook с помощью spring-social?

ответ

7

Наконец, я не нашел ни одного упоминания о профиле изображения URL весной социальной
Мое решение:
Изначально я планировал расширить UserOperations (FacebokTemplate.userOperations) класс и добавить новый метод. Но это класс на уровне пакетов и не видно снаружи.
Поэтому я решил создать свой собственный класс шаблона расширения FacebookTemplate и реализовать метод следующим образом:

public String fetchPictureUrl(String userId, ImageType imageType) { 
    URI uri = URIBuilder.fromUri(GRAPH_API_URL + userId + "/picture" + 
      "?type=" + imageType.toString().toLowerCase() + "&redirect=false").build(); 

    JsonNode response = getRestTemplate().getForObject(uri, JsonNode.class); 
    return response.get("data").get("url").getTextValue(); 
} 
4

я просто выбежала в тот же вопрос, надеюсь, это поможет кому-то еще

Connection<Facebook> connection = userConnectionRepository.findPrimaryConnection(Facebook.class); 
connection.createData().getImageUrl() 
+1

Хорошо, но это было бы здорово с большей версией. – nilsi

0

Вы может взять миниатюрное изображение таким образом:

"http://graph.facebook.com/" + fbUser.getId() + "/picture?type=square" 
Смежные вопросы