简介
Twitter 现已成为社交网络中的佼佼者。Twitter 只允许用户发布不多于 140 个字符的内容,谁能够想到,这个过去毫不起眼的小网站如今却价值十多亿美元,拥有数百万用户,Twitter 平台上已构建了大量的应用程序,并且不断有新的开发人员准备投入这一浪潮中。
本文并不打算介绍 Twitter(事实上,也没有这个必要)。相反,本文将介绍如何访问 Twitter 平台来构建出色的命令行应用程序。Twitter 支持各种编程语言,包括 C++、Java?、Perl、Ruby、PHP 和 Python。对于每种语言,都有大量的库或包可以帮助您完成大量工作。
本文将介绍如何使用 Ruby 来访问 Twitter。您应该对 Ruby 有所了解,但是即使不具备这方面的知识,也很容易快速掌握 Ruby。
安装 Twitter gem
一些 gem 可用于从 Ruby 访问 Twitter(参见 参考资料,以获得有关的更多信息)。对于本文,我选择使用 twitter,这是由 John Nunemaker 编写的 Ruby 包装器。安装 gem 非常简单:
bash$ gem install twitter
该命令用于在您的机器上安装 Twitter 客户端。如果您有一个定制的 gem 安装文件夹,那么首先需要从脚本中调用 rubygems,然后调用 twitter。下面展示了具体过程:
require 'rubygems'require 'twitter'
第一个 Twitter 脚本
现在,您已经准备好构建第一个应用程序,该应用程序用于检测您所关注的人的位置。首先创建一个脚本,它会获取其他人的姓名,并告诉您他们的当前位置。清单 1 显示了相关代码。
清单 1. 跟踪用户位置
require 'rubygems'require 'twitter'def track ARGV.each do |name| puts name + " => " + Twitter.user("#{name}").location endend
track
这段代码执行了哪些操作?如果您刚刚接触 Ruby,则需要向您解释一下,ARGV 是一个数组,它提供脚本对命令行参数的访问。Twitter.user API 返回有关您对其位置感兴趣的人的信息。调用以下脚本可以获得 Lady Gaga、Ashton Kutcher 和 Oprah Winfrey 的当前位置:
bash$ ./location_tracker.rb ladygaga aplusk Oprahladygaga => New York, NYaplusk => Los Angeles, CaliforniaOprah => Chicago, IL
在 Twitter 上实现用户搜索并了解认证情况
现在,让我们搜索 Twitter 上的一些现有用户。如果可以猜出用户的 Twitter ID,那么可以使用以下命令行:
require 'rubygems'require 'twitter'puts "User exists" if Twitter.user?(ARGV[0])
不过,一般情况下无法猜出用户的 ID。因此,需要提供搜索用户名的功能。这需要用以下代码实现,该代码将搜索名称与 Arpan 匹配的所有用户:
require 'rubygems'require 'twitter'names = Twitter.user_search("Arpan")
新闻热点
疑难解答