首先,我要感谢Google Gdata API的工程师的出色工作,我想感谢这个问题并不是要批评任何事情。它只是指出事情。

有人可以向我解释吗?据我所知,Java的Google API客户端库的开发人员正在重新发明轮子。这就像为Java项目编写新的JDK,因为Abdera Client可以执行Google API客户端库所做的工作,而Abdera Server功能和适配器也可以用于许多事情,例如进入持久性等。

我知道Google数据协议是有点特定的原子发布的事实,但是如果需要使用Apache Abdera Project为此协议提供的一些精美扩展和功能,那么最好不要使用Google API API客户端库并与Abdera从头开始实施客户...我敢肯定,在许多情况下,它的功能(例如Abdera的JCR适配器)对于Google Docs,Google Translator Toolkit以及其他大多数人来说都非常方便。

现在,有一个用于Google文档的Google API客户库库真是太好了,但是我将如何处理文档和原子供稿响应?我相信,在一半以上的情况下,另一侧也有一个存储库或数据库。在这种情况下,需要Abdera,而不是仅编组/删除提要的简单Google API客户端...

实际上,在所有Google API中都可以持续存在一些东西。这是有道理的,如果Google决定将努力投入到Abdera增强或集成上……这不是...尤其是考虑到软件开发中一个非常知名的事实,该第二版通常会从头开始重写。 Apache Abdera是一个成熟的项目,其存在5年,由大量应用程序使用。

如果有理由,我只使用拉动解析器就看不到和实现客户端,这确实是必要的,我至少会使用未弃用的XML拉动解析器。 xmlpull.org已有6年的历史,但没有活跃,甚至没有实现Stax API。 stax.codehaus.org参考实施,JRE默认的Stax实现,Apache Axiom实施和主要是Woodstox.codehaus.org实现会更好,为什么要避免使用支持和社区的规格和活动项目?

我向Google API客户端Java库的开发人员致歉,但我真的很喜欢Google API,但是使用该客户端的第一个版本确实很痛苦,当前版本很不错。但是,实际上浪费了很多时间,这主要是由于重新发明了车轮以及从版本0通过gdata-java-client到Google-api-client-java的极端释放变化。

最后,Google在人们投入时间和金钱之后将API限制在限制之后,那么为什么要关心吧? :-)

我正在收回我所说的话,从那以后,软件和协议发生了很大变化...现在,当Gdata支持JSON时,使用它甚至没有意义!

有帮助吗?

解决方案

我有同样的问题。您可以从中获得灵感 Google-FeedServer 项目。它使用了Google客户端库的旧GDATA版本,但是该项目涉及它与Apache Abdera的组合。他们正在通过IBATIS进行数据库持久性。

但是,我所做的是:我花了2天的时间学习和使用Google API客户端库来实现客户应用程序,希望库的开发能够继续并添加新功能。但是不幸的是,很长一段时间以来几乎相同。因此,我最近使用了Abdera客户端,并创建了一些扩展名 org.apache.abdera.examples.extension.* 对于Google Data API,我完全使用了Abdera。如果您考虑一下,则无需使用Google API客户端库。您只需要设置授权标题

clientLogin.authenticate().setAuthorizationHeader(Util.getTransport());

关于为什么Google不使用Abdera框架,我问自己同样的问题。这是爪哇世界的问题之一。在许多地方浪费。 Abdera Framework是一个非常不错的项目,如果他们决定创建自己的客户库,则应更加强大。 (我认为)简而言之,如果Abdera框架很糟糕,我会明白的,但是它做得很好,而且功能非常丰富。

另一方面,由于项目的性质而存在Abdera框架所具有的功能。它主要是Atompub服务器,因此应该处理客户提供的数据。但是Google API客户端也需要处理,尽管Google客户端库没有可能性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top