在 python 中使用 Oauth 库
Using Oauth library in python
我正在 运行使用 oauth 库在 python 中创建一个推特 api。我已经包含了下面的代码。当我 运行 代码 "twtest.py" 时,出现错误 `'module' 对象没有属性 'OAuthConsumer'。
1.twtest.py
import urllib
from twurl import augment
print '* Calling Twitter...'
url = augment('https://api.twitter.com/1.1/statuses/user_timeline.json',
{'screen_name': 'saurabhpathak20', 'count': '2'} )
print url
connection = urllib.urlopen(url)
data = connection.read()
print data
headers = connection.info().dict
print headers
2.twurl.py
import urllib
import oauth
import hidden
def augment(url, parameters) :
secrets = hidden.oauth()
consumer = oauth.OAuthConsumer(secrets['consumer_key'], secrets['consumer_secret'])
token = oauth.OAuthToken(secrets['token_key'],secrets['token_secret'])
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer,
token=token, http_method='GET', http_url=url, parameters=parameters)
oauth_request.sign_request(oauth.OAuthSignatureMethod_HMAC_SHA1(), consumer, token)
return oauth_request.to_url()
def test_me() :
print '* Calling Twitter...'
url = augment('https://api.twitter.com/1.1/statuses/user_timeline.json',
{'screen_name': 'saurabhpathak20', 'count': '2'} )
print url
connection = urllib.urlopen(url)
data = connection.read()
print data
headers = connection.info().dict
print headers
3.hidden.py
def oauth() :
return { "consumer_key" : "pj......U8fFRyjV",
"consumer_secret" : "zty3njhO4IRl........ELh1YC1j1rX",
"token_key" : "515167047-xaRfSm7.......wBBOrjNd61anI55D",
"token_secret" : " y7ZCBDf6d..........x1eJV8mHRnL8hh" }
请帮助我理解代码中的错误。
谢谢
您需要从 oauth
而不是 import oauth
导入 oauth
>>> from oauth import oauth
>>> oauth.OAuthConsumer
<class 'oauth.oauth.OAuthConsumer'>
我正在 运行使用 oauth 库在 python 中创建一个推特 api。我已经包含了下面的代码。当我 运行 代码 "twtest.py" 时,出现错误 `'module' 对象没有属性 'OAuthConsumer'。
1.twtest.py
import urllib
from twurl import augment
print '* Calling Twitter...'
url = augment('https://api.twitter.com/1.1/statuses/user_timeline.json',
{'screen_name': 'saurabhpathak20', 'count': '2'} )
print url
connection = urllib.urlopen(url)
data = connection.read()
print data
headers = connection.info().dict
print headers
2.twurl.py
import urllib
import oauth
import hidden
def augment(url, parameters) :
secrets = hidden.oauth()
consumer = oauth.OAuthConsumer(secrets['consumer_key'], secrets['consumer_secret'])
token = oauth.OAuthToken(secrets['token_key'],secrets['token_secret'])
oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer,
token=token, http_method='GET', http_url=url, parameters=parameters)
oauth_request.sign_request(oauth.OAuthSignatureMethod_HMAC_SHA1(), consumer, token)
return oauth_request.to_url()
def test_me() :
print '* Calling Twitter...'
url = augment('https://api.twitter.com/1.1/statuses/user_timeline.json',
{'screen_name': 'saurabhpathak20', 'count': '2'} )
print url
connection = urllib.urlopen(url)
data = connection.read()
print data
headers = connection.info().dict
print headers
3.hidden.py
def oauth() :
return { "consumer_key" : "pj......U8fFRyjV",
"consumer_secret" : "zty3njhO4IRl........ELh1YC1j1rX",
"token_key" : "515167047-xaRfSm7.......wBBOrjNd61anI55D",
"token_secret" : " y7ZCBDf6d..........x1eJV8mHRnL8hh" }
请帮助我理解代码中的错误。 谢谢
您需要从 oauth
而不是 import oauth
oauth
>>> from oauth import oauth
>>> oauth.OAuthConsumer
<class 'oauth.oauth.OAuthConsumer'>