使用tornado.httpclient访问twitter

时间:2013-10-11 00:02:25

标签: python tornado

我正在阅读“龙卷风简介”一书。我正在尝试使用tornado.httpclient来访问twitter api。在他们的示例中,他们使用不受支持的旧v1搜索API。 v1.1支持的版本需要进行oauth身份验证。

就我而言,我拥有所有可用的oauth信息(例如app和用户的令牌和秘密)。但是,我无法弄清楚如何将它们与当前的提取调用结合起来:

response = client.fetch("https://api.twitter.com/1.1/search/tweets.json?q=football&result_type=recent&rpp=100")

问题是如何更改此调用以向其添加oauth支持。我对requests library做了类似的事情,我只需要在调用中添加OAuth1对象。

ua = OAuth1(client_key=TWITTER_CONSUMER_KEY,
            client_secret=TWITTER_CONSUMER_SECRET, 
            resource_owner_key=token,
            reource_owner_secret=secret,signature_type='auth_header')


requests.get("https://api.twitter.com/1.1/search/tweets.json",
              auth=ua,
              params=dict(q="football",result_type="recent",rpp=100))

我可以在tornado.httpclient中执行类似于请求库的操作吗?感谢。

1 个答案:

答案 0 :(得分:0)

tornado.httpclient模块对OAuth没有任何支持,但tornado.auth模块支持OAuth。子类tornado.auth.TwitterMixin并使用其twitter_request方法。