2008-09-15 8 views
6

Ich habe vergeblich nach einem guten Beispiel oder Ausgangspunkt gesucht, um eine Java-basierte Facebook-Anwendung zu schreiben ... Ich hatte gehofft, dass jemand hier von einem wissen würde. Ich höre auch, dass Facebook ihre Java-API nicht mehr unterstützt. Ist das wahr und wenn ja, dann sollten wir Java nicht mehr verwenden, um Facebook-Apps zu schreiben?Wie schreibe ich Facebook-Apps in Java?

+0

Ich werde nicht einmal die Java-API für FB lernen lernen. Ich vermute, dass es nicht viele Tutorials und Bücher geben wird, die mir bei der Java-Entwicklung helfen. Stattdessen werde ich die beliebteste und am besten unterstützte Sprache lernen, um FB-Apps zu schreiben. Ist es JavaScript? –

Antwort

6

Facebook stoppte die Unterstützung der offiziellen Java API am 5. Mai 2008 entsprechend ihrer developer wiki.

Das bedeutet in keiner Weise, dass Sie Java nicht mehr zum Schreiben von FB-Apps verwenden sollten. Es gibt mehrere alternative Java-Ansätze, die im Wiki beschrieben sind.

Sie können auch überprüfen, this project heraus; es kam jedoch erst vor ein paar Tagen heraus, also YMMV.

6

Es gibt ein Community-Projekt, das die Facebook Java API auf dem neuesten Stand halten soll, wobei der alte offizielle Facebook-Code als Ausgangspunkt dient.

You can find it here zusammen mit einem Handbuch Erste Schritte und ein paar Bits Beispielcode.

0

Sie möchten vielleicht Spring Social versuchen. Es kann in Bezug auf Facebook-Funktionen eingeschränkt sein, aber Sie können auch eine Verbindung zu Twitter, LinkedIn, TripIt, GitHub und Gowalla herstellen. Die andere Seite der Dinge ist, dass, da Facebook Funktionen hinzufügt, einige der alten APIs brechen könnten, also eine einfachere pure FB API zu verwenden (die Sie aktualisieren können, wenn die Dinge nicht funktionieren), könnte eine gute Idee sein.

1

BatchFB bietet einen modernen Java-API, die Sie ganz einfach optimieren Sie Ihre Facebook-Anrufe auf ein Minimum Set läßt:

http://code.google.com/p/batchfb/

Hier ist das Beispiel von der Hauptseite von dem, was Sie in einem einzigen genommen effektiv tun können FB Anfrage:

/** You write your own Jackson user mapping for the pieces you care about */ 
public class User { 
    long uid; 
    @JsonProperty("first_name") String firstName; 
    String pic_square; 
    String timezone; 
} 

Batcher batcher = new FacebookBatcher(accessToken); 

Later<User> me = batcher.graph("me", User.class); 
Later<User> mark = batcher.graph("markzuckerberg", User.class); 
Later<List<User>> myFriends = batcher.query(
    "SELECT uid, first_name, pic_square FROM user WHERE uid IN" + 
    "(SELECT uid2 FROM friend WHERE uid1 = " + myId + ")", User.class); 
Later<User> bob = batcher.queryFirst("SELECT timezone FROM user WHERE uid = " + bobsId, User.class); 
PagedLater<Post> feed = batcher.paged("me/feed", Post.class); 

// No calls to Facebook have been made yet. The following get() will execute the 
// whole batch as a single Facebook call. 
String timezone = bob.get().timezone; 

// You can just get simple values forcing immediate execution of the batch at any time. 
User ivan = batcher.graph("ivan", User.class).get(); 
Verwandte Themen