我已经徒劳地寻找一个很好的例子或起点来编写一个基于java的facebook应用程序...我希望有人在这里知道一个。同样,我听说facebook将不再支持他们的java API这是真的,如果是的话这意味着我们不应该再使用java来编写facebook应用程序了吗?
答案 0 :(得分:6)
Facebook于2008年5月5日根据他们的developer wiki停止支持官方Java API。
这绝不意味着您不应再使用Java来编写FB应用程序。维基上列出了几种替代Java方法。
您可能还想检查this project;然而,它只是几天前出来的所以YMMV。
答案 1 :(得分:6)
这是一个社区项目,旨在使用旧官方Facebook代码作为起点,使Facebook Java API保持最新状态。
You can find it here以及入门指南和一些示例代码。
答案 2 :(得分:2)
我写了example using facebook java api 它使用FacebookXmlRestClient来发出客户请求和打印 所有用户信息 http://programmaremobile.blogspot.com/2009/01/facebook-java-apieng.html
答案 3 :(得分:1)
BatchFB提供了一个现代Java API,可让您轻松地将Facebook调用优化到最低设置:
http://code.google.com/p/batchfb/
以下是您可以在单个FB请求中有效执行的主页的示例:
/** 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();
答案 4 :(得分:0)
您可能想尝试Spring Social。它可能在Facebook功能方面受到限制,但也允许您连接到Twitter,LinkedIn,TripIt,GitHub和Gowalla。
事情的另一面是,随着Facebook添加功能,一些旧的API可能会破坏,所以使用更简单的纯FB api(你可以在事情不起作用时更新)可能是一个好主意。
答案 5 :(得分:0)
本教程将逐步指导您完成所有工作:http://ocpsoft.org/opensource/creating-a-facebook-app-setup-and-tool-installation/
它分为3部分。其他2个从那里链接。