2012-03-26 64 views
5

python-oauth2 GitHub的页面提供有关如何创建与req = oauth.Request(...),它返回一个可签订字典签署请求指示。但我如何真正发送这些请求?签名请求使用python-的oauth2

+0

这是一个重复? http://stackoverflow.com/questions/2138656/signing-requests-in-python-for-oauth – Daenyth 2012-03-26 15:28:16

+1

@Daenyth:这是不是这个问题的一个副本。这个问题有自定义Python代码来创建签名这个问题是使用'python-oauth2'库。 – abraham 2012-03-26 17:45:56

+0

太局部化了? WTF – Jannis 2015-03-17 11:22:06

回答

1

看自述下一步。

使用客户端

import oauth2 as oauth 

# Create your consumer with the proper key/secret. 
consumer = oauth.Consumer(key="your-twitter-consumer-key", 
    secret="your-twitter-consumer-secret") 

# Request token URL for Twitter. 
request_token_url = "http://twitter.com/oauth/request_token" 

# Create our client. 
client = oauth.Client(consumer) 

# The OAuth Client request works just like httplib2 for the most part. 
resp, content = client.request(request_token_url, "GET") 
print resp 
print content 
+1

我认为我是极其糟糕的文档的受害者。我认为我甚至不需要“签名”部分,因为客户端在您的示例中所做的似乎足以满足OAuth服务的需求。 – Steve 2012-03-27 11:05:48

4

就在末尾加上这一行:

rs = urllib2.urlopen(req.to_url()) 

哪里req是Request对象。

+0

这对我不起作用 - 它只是将(无符号)请求发送到url。我收到了一些“错误的身份验证数据”消息,因为请求没有被签名。 – pcv 2013-01-30 00:34:44

+2

实际上,文档在客户端缺少令牌参数。 应该是:client = oauth.Client(consumer,token); resp,content = client.request(URL,“GET”)顺便说一句。为什么这个问题关闭? – pcv 2013-01-30 00:50:20