快速业务通道

面向Java开发人员的Scala指南 - 用Scitter更新Twitter - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

面向Java开发人员的Scala指南 - 用Scitter更新Twitter

时间:2010-12-04 IBM Ted Neward

在撰写本文时,夏季即将结束,新的学年就要开始,Twitter 的服务器上不 断涌现出世界各地的网虫和非网虫们发布的更新。对于我们很多身在北美的人来 说,从海滩聚会到足球,从室外娱乐到室内项目,各种各样的想法纷至沓来。为 了跟上这种形势,是时候重访 Scitter 这个用于访问 Twitter 的 Scala 客户 机库了。

如果 到目前为止 您一直紧随 Scitter 的开发,就会知道,这个库现在能够 利用各种不同的 Twitter API 查看用户的好友、追随者和时间线,以及其他内 容。但是,这个库还不具备发布状态更新的能力。在这最后一篇关于 Scitter 的文章中,我们将丰富这个库的功能,增加一些有趣的内容(终止和评价)功能 和重要方法 update()、show() 和 destroy()。在此过程中,您将了解更多关于 Twitter API 的知识,它与 Scala 之间的交互如何,您还将了解如何克服两者 之间不可避免的编程挑战。

注意,当您看到本文的时候,Scitter 库将位于一个 公共源代码控制库 中 。当然,我还将在本文中包括 源代码,但是要知道,源代码库可能发生改变。 换句话说,项目库中的代码与您在这里看到的代码可能略有不同,或者有较大的 不同。

POST 到 Twitter

到目前为止,我们的 Scitter 开发主要集中于一些基于 HTTP GET 的操作, 这主要是因为这些调用非常容易,而我想轻松切入 Twitter API。将 POST 和 DELETE 操作添加到库中对于可见性来说迈出了重要一步。到目前为止,可以在 个人 Twitter 帐户上运行单元测试,而其他人并不知道您要干什么。但是,一 旦开始发送更新消息,那么全世界都将知道您要运行 Scitter 单元测试。

如果继续测试 Scitter,那么需要在 Twitter 上创建自己的 “测试” 帐户 。(也许用 Twitter API 编程的最大缺点是没有任何合适的测试或模拟工具。 )

目前的进展

在开始着手这个库的新的 UPDATE 功能之前,我们来回顾一下到目前为止我 们已经创建的东西。

大致来说,Scitter 库分为 4 个部分:

来回发送的请求和响应类型(User、Status 等),包含在 API 中;它们被 建模为 case 类。

OptionalParam 类型,同样在 API 中的某些地方;也被建模为 case 类,这 些 case 类继承基本的 OptionalParam 类型。

Scitter 对象,用于通信基础和对 Twitter 的匿名(无身份验证)访问。

Scitter 类,存放一个用户名和密码,用于访问给定 Twitter 帐户时进行验 证。

注意,在这最后一篇文章中,为了使文件大小保持在相对合理的范围内,我 将请求/响应类型分开放到不同的文件中。

终止和评价

那么,现在我们清楚了目标。我们将通过实现两个 “只读” Twitter API 来达到目标:end_session API(结束用户会话)和 rate_limit_status API( 描述在某一特定时段内用户帐户还剩下多少可用的 post)。

end_session API 与它的同胞 verify_credentials 相似,也是一个非常简 单的 API:只需用一个经过验证的请求调用它,它将 “结束” 当前正在运行的 会话。在 Scitter 类上实现它非常容易,如清单 1 所示:

清单 1. 在 Scitter 上实现 end_session

package  com.tedneward.scitter {   import org.apache.commons.httpclient._, auth._, methods._,  params._   import scala.xml._   // ...   class Scitter   {    /**     *     */     def endSession : Boolean =    {     val (statusCode, statusBody) =      Scitter.execute ("http://twitter.com/account/end_session.xml",       username, password)     statusCode

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号