2012-01-03 76 views
0

我一直在使用Tweepy进行OAuth和Twitter API调用。出于一大堆原因,我切换到urllib并直接发出HTTP请求。通过HTTP与Twitter的OAuth

看来有两种选择:

  • 我可以做的OAuth直接通过HTTP,但现有的资源似乎要么说“不要打扰,只用一个图书馆”,或者不包括一半的过程。
  • 我可以继续使用Tweepy获取密钥/密钥对,但从那里我仍不清楚如何使用该密钥对来验证我的查询。具体来说,假设我已完成OAuth流程并为用户I提供密钥/秘密,那么在“https://api.twitter.com/1/statuses/home_timeline.json”进行身份验证之前我需要做些什么想。

回答

2

为什么不使用更通用的oauth库(如oauth2),而不是完全抛出oauth认证库的想法?

https://github.com/simplegeo/python-oauth2

签署了OAuth的请求意味着要么自己实现的签名功能为每个请求或使用现有的库 - 和创建Oauth签名是相当复杂和容易断裂。作为支持OAuth的API几年的人,我强烈建议您使用库。

oauth2库有一个获取twitter的令牌/秘密的例子。

一旦你得到了令牌和秘密的OAuth的库很简单,只要:

consumer = oauth.Consumer(consumer_key, consumer_secret) 
token = oauth.Token(token,secret) 
client = oauth.Client(consumer,token) 
response = make_request(client,"https://api.twitter.com/1/statuses/home_timeline.json") 
+0

真棒,这是真正有用的。但是,我很难找到获取您引用的令牌的示例。它在GitHub中,并且你有链接吗? – xanderflood 2012-01-04 00:44:48

+0

另外,make_request函数在哪里?我似乎无法在任何地方在OAuth2代码中找到它。 – xanderflood 2012-01-04 01:21:35

+0

如果您访问python-oauth2的github存储库,请在该页面(在自述文件中,在主文档中)查找“Twitter三脚OAuth示例”。这应该会让你走 - 这是我们用作LinkedIn Python令牌文档基础的示例。 – 2012-01-04 16:17:36