对一个好的 Twitter 库(最好是 Ruby 或 Python)有什么建议吗?我有一个用户名列表,我需要能够以编程方式关注这些用户。
我在 Ruby 中尝试了 twitter4r,但查找用户似乎不起作用。当我做的时候
twitter = Twitter::Client.new(:login => 'mylogin', :password => 'mypassword') user = Twitter::User.find('ev', twitter)
...无论我尝试使用什么用户名,返回的用户似乎总是某个名叫“Jose Italo”的人。
同样,我尝试了 python-twitter,但似乎无法关注用户。当我做的时候
api = twitter.Api(username='mylogin', password='mypassword') user = api.GetUser('ev') api.CreateFriendship(user)
...我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.5-i386/egg/twitter.py", line 1769, in CreateFriendship
File "build/bdist.macosx-10.5-i386/egg/simplejson/__init__.py", line 307, in loads
File "build/bdist.macosx-10.5-i386/egg/simplejson/decoder.py", line 335, in decode
File "build/bdist.macosx-10.5-i386/egg/simplejson/decoder.py", line 353, in raw_decode
ValueError: No JSON object could be decoded
那么关于工作库的任何建议,或者如何让 twitter4r 或 python-twitter 工作?
请您参考如下方法:
http://github.com/jnunemaker/twitter/对我来说效果很好。
不过,如果我只是做一些简单的事情,我通常会求助于裸 HTTP API。在这种情况下,它将是这个:http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-friendships%C2%A0create
使用 Ruby 和 RestClient 看起来像这样:
require "rest_client"
require "json"
r = RestClient.post "http://username:password@twitter.com/friendships/create.json",
:screen_name => "user_to_follow"
j = JSON.parse(r)
并且您将响应作为散列。很简单。