面向 Java 开发人员的 Scala 指南: 用 Scitter 更新 Twitter
2009-12-09 00:00:00 来源:WEB开发网如果继续测试 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_sessionpackage 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 == 200
}
}
}
更多精彩
赞助商链接