【问题标题】:How do I write Facebook apps in Java?如何用 Java 编写 Facebook 应用程序?
【发布时间】:2010-09-08 21:53:36
【问题描述】:

我徒劳地寻找了一个很好的例子或起点来编写一个基于 java 的 facebook 应用程序......我希望这里的人会知道一个。同样,我听说 facebook 将不再支持他们的 java API,这是真的吗?如果是,这是否意味着我们不应该再使用 java 来编写 facebook 应用程序??

【问题讨论】:

  • 我什至不会费心学习 FB 的 Java API。我猜不会有很多教程和书籍可以帮助我进行 Java 开发。相反,我将学习最流行和最受支持的语言来编写 FB 应用程序。是 JavaScript 吗?

标签: java facebook api


【解决方案1】:

根据他们的developer wiki,Facebook 于 2008 年 5 月 5 日停止支持官方 Java API。

这绝不意味着您不应该再使用 Java 来编写 FB 应用程序。 wiki 上列出了几种可供选择的 Java 方法。

您可能还想签出this project;但是,它是几天前才出来的,所以 YMMV。

【讨论】:

    【解决方案2】:

    有一个社区项目旨在使 Facebook Java API 保持最新,使用旧的官方 Facebook 代码作为起点。

    You can find it here 以及入门指南和一些示例代码。

    【讨论】:

      【解决方案3】:

      我写了一个example using facebook java api 它使用 FacebookXmlRestClient 来发出客户端请求和打印 所有用户信息 http://programmaremobile.blogspot.com/2009/01/facebook-java-apieng.html

      【讨论】:

        【解决方案4】:

        您可能想试试Spring Social。它可能在 Facebook 功能方面受到限制,但您也可以连接到 Twitter、LinkedIn、TripIt、GitHub 和 Gowalla。

        另一方面,随着 Facebook 添加功能,一些旧 API 可能会损坏,因此使用更简单的纯 FB API(当出现问题时您可以更新)可能是个好主意。

        【讨论】:

          【解决方案5】:

          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();
          

          【讨论】:

            【解决方案6】:

            本教程将逐步引导您完成您需要做的所有事情:http://ocpsoft.org/opensource/creating-a-facebook-app-setup-and-tool-installation/

            它分为 3 个部分。其他 2 个从那里链接。

            【讨论】:

              猜你喜欢
              • 2010-10-13
              • 1970-01-01
              • 2012-07-23
              • 2011-11-11
              • 2023-02-03
              • 2011-07-12
              • 1970-01-01
              • 1970-01-01
              • 2016-03-12
              相关资源
              最近更新 更多