Hi zusammen!
Ich programmiere mir gerade einen kleinen Service der mir die Anzahl der Likes, Shares usw. einer URL bei Facebook abholt und speichert.
Leider habe ich ein Problem mit einer NullpointerException und komme nicht auf den Fehler. JDOM kann den DocType des XML auch nicht automatisch feststellen, also versuche ich ihn manuell anzugeben. Ob ich das richtig mache, weiß ich nicht, deswegen frage ich hier ;-)
Mir scheint es so, als wäre da bei Facebook der Doctype falsch!?
Beispiel für heise.de:
https://api.facebook.com/method/fql...nt from link_stat where url="http://heise.de"
Danke schonmal,
whitenexx
Ich programmiere mir gerade einen kleinen Service der mir die Anzahl der Likes, Shares usw. einer URL bei Facebook abholt und speichert.
Leider habe ich ein Problem mit einer NullpointerException und komme nicht auf den Fehler. JDOM kann den DocType des XML auch nicht automatisch feststellen, also versuche ich ihn manuell anzugeben. Ob ich das richtig mache, weiß ich nicht, deswegen frage ich hier ;-)
Java:
//Holt die aktuellen Zahlen zur URL von Facebook und speichert sie im Model
public void refreshLikesSharesClicksAndTotal() throws JDOMException, IOException {
URL fqlURL = new URL("https://api.facebook.com/method/fql.query?query=select like_count, total_count, share_count, click_count from link_stat where url=\"" + this.url.toString() + "\"");
Document inputXML = new SAXBuilder().build(fqlURL);
DocType docType = new DocType("xml", "http://www.w3.org/2001/XMLSchema-instance");
inputXML.setDocType(docType);
Element fqlResponse = inputXML.getRootElement().getChild("link_stat");
Element likes = fqlResponse.getChild("like_count");
logger.info("Likes: " + likes.getText());
Element shares = fqlResponse.getChild("share_count");
Element clicks = fqlResponse.getChild("click_count");
Element total = fqlResponse.getChild("total_count");
this.likes = Integer.parseInt(likes.getText());
this.shares = Integer.parseInt(shares.getText());
this.clicks = Integer.parseInt(clicks.getText());
this.total = Integer.parseInt(total.getText());
}
Mir scheint es so, als wäre da bei Facebook der Doctype falsch!?
Beispiel für heise.de:
https://api.facebook.com/method/fql...nt from link_stat where url="http://heise.de"
Danke schonmal,
whitenexx