如何用Ruby on Rails写Twitter

Ruby on Rails的Twitter应用程序界面是十分简单的。Twitter是一个简单的Rails应用程序。查询信息的应用程序接口调用是GET请求,而更改,创建或删除信息的则是POST请求。命令本身是你的程序读取的URL。Twitter会在HTTP响应代码中返回状态码以及你选择的格式中的数据。

  CURL

  为了利用Twitter 应用程序界面,会利用到CURL工具。这个工具非常简单,它可以帮助你完成HTTP查询并从命令行中检查其结果。它几乎可以用于所有的平台,因此,应该不存在任何安装和使用方面的困难。

  唯一会转换到CURL的担心是以下这些问题:

  -u username:password——在作出请求前用来验证你自己的身份。

  -i ——将HTTP标头放入响应中。你可能需要检查由Twitter返回的HTTP标头,特别是响应代码。

  -w ‘\n%{response_code}\n’——在响应背后给出响应代码。如果你只是想要响应代码这一项比起-i转换要方便。

  -d var=data&var2=data——发送POST数据来发布消息,如果转换存在,则会有产生一个POST请求,否则则产生一个GET请求。

  验证

  大多数Twitter 应用程序界面的命令都要求验证,这样Twitter才知道是谁发送了请求。Twitter应用程序界面也不需要Cookies,所以Twitter不会记住发送请求的人。在每次发送请求前,你都必须验证用户名和密码。

  这是通过使用-u转换的CURL完成的。如果我的用户名是aboutruby而密码是pass123,我会添加-u aboutruby: pass123到我的CURL 命令。

  你朋友的时间轴

  或许在Twitter中最常见的行为是要求你朋友的时间轴。这在你登录Twitter的时候会遇到的。访问这个就像访问http://twitter.com/statuses/friends_timeline.xml一样容易。请注意这一网址后面的.xml。要想以RSS或HTML格式获取这一网址,你可以使用.rss或.html来替代。

  以下的CURL命令行会执行这一命令。你应该看看XML输出。我们还要在解析XML输出时对它进行更深入的检查。

  $ curl –u aboutruby:pass123

  http://twitter.com/statuses/friends_timeline.xml

  发表文章

  在Twitter中最常见的行为当然是发表文章或更新。这个CURL命令行有一些细微的差别。-d转换用于使HTTP行为执行POST请求而不是GET请求,并向发表的文章添加数据。用于这一操作的URL是http://twitter.com/statuses/update.xml ,且它有可能成为POST参数中的一个状态值。

  $ curl -u aboutruby:pass123 -d

  'status=Posted from CURL'

  http://twitter.com/statuses/update.xml

  Twitter剩下的命令按照同样的模式。作为Twitter命令的完整引用,请看Twitter 应用程序界面维客的REST应用程序界面文档。值得一提的是Twitter应用程序界面是向所有人免费开放的。

http://twitter.rubyforge.org/

原文地址:https://www.cnblogs.com/bluespot/p/1460322.html