2014-02-11 7 views
5

Ich benutze spring-social-facebook mit Grafik-API interagieren (1.0.3.RELEASE, wenn es Metter ist).
Und ich kann keine Operation zum Abrufen der Profil-URL des Profils finden. Ich habe nur Operationen gefunden, die ein Array von Bytes zurückgeben, und sie sind für die Implementierung nicht sehr praktisch.
Gibt es in Spring Social irgendeine Art von Operation, die Image-URL abruft?
Wenn nicht, gibt es eine "saubere" Problemumgehung dafür?
Danke!Wie bekomme ich Profilbild-URL von Facebook mit Spring-Social?

Antwort

7

Schließlich ich fand keine Erwähnung Profilbild url im Frühjahr soziale
Meine Lösung:
Zunächst wollte ich UserOperations (FacebokTemplate.userOperations) Klasse und fügen neue Methode erweitern. Aber es ist eine Klasse auf Paketebene und draußen nicht sichtbar.
Also beschloss ich, meine eigene Template-Klasse erstellen FacebookTemplate und implementieren das Verfahren auf diese Weise erstrecken:

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

i gleiche Problem lief nur in, hoffen, dass dies jemand anderes

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

Schön, aber es wäre toll mit einer größeren Version. – nilsi

0

Sie helfen könnte das Miniaturbild auf diese Weise nehmen:

"http://graph.facebook.com/" + fbUser.getId() + "/picture?type=square" 
Verwandte Themen