2016-09-11 5 views
0

Я запускаю twitter api в python, используя oauth library. Я включил код ниже. Когда я запускаю код «twtest.py», я получаю сообщение об ошибке «Модуль» не имеет атрибута «OAuthConsumer».Использование библиотеки Oauth в python

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" } 

Пожалуйста, помогите мне понять, что случилось в код. Спасибо.

ответ

0

Вам нужно импортировать oauth из oauth вместо import oauth

>>> from oauth import oauth 
>>> oauth.OAuthConsumer 
<class 'oauth.oauth.OAuthConsumer'> 
+0

Спасибо, но на этот раз я получаю новую ошибку. Проверьте эту ссылку на скриншот ошибки http://tinypic.com/r/ny8gt0/9 – Sourav

+0

Это ошибка выполнения, совершенно другая, поэтому ответ на этот вопрос будет плохим для конкретного вопроса. Кроме того, в этом поле HTTP-материала я не могу вам помочь. Пожалуйста, задайте новый вопрос с первой исправленной ошибкой и не публикуйте скриншоты, а скорее ошибки в тексте в своих вопросах, или вы получите downvoted. –

Смежные вопросы