2014-09-01 61 views
1

我想使用Twitter库来拉一些推文,但我无法正确获得我的授权。这是我的代码模块对象没有属性oauth

import twitter 
consumer_key = '' 
consumer_secret = '' 
access_token = '' 
access_secret = '' 
t = Twitter(auth = OAuth(access_token, access_secret, consumer_key, consumer_secret)) 
api = twitter.Twitter(auth = auth) 
print api 

它引发AttributeError:'模块'对象没有属性'oauth'。我只是从twitter帮助粘贴代码,但为什么它不起作用?

+0

请显示完整的回溯。 – alecxe 2014-09-01 19:31:01

+0

您正在使用哪个API以及哪种OAuth方法? – br3w5 2014-09-01 19:39:57

回答

1

不知道您使用的是哪个库我会假定您正在使用this one,因为语法看起来相同。抛出的错误表明你没有导入处理oauth的模块。您可以通过添加给你的代码的顶部导入所有模块:

from twitter import * 

这是不是真的建议,因为你可能不需要在该库的每个模块只需要导入需要例如那些:

from twitter import oauth 
+1

另外,OP可能会混合'twitter'和'python-twitter',安装一个并尝试使用另一个。 – alecxe 2014-09-01 19:49:47

+0

我只安装了twitter而不是python-twitter。所以他们之间没有混合。 – 2014-09-02 05:56:14

+0

@ssbrewster我使用了两个选项中的第一个(因为我也从Twitter导入Twitter)。现在它在文件m1.py中抛出一个名为'twitter is not defined'的不同的错误,在行7中,即行api = twitter.Twitter(auth = auth) – 2014-09-02 06:25:40

0

由于我使用的是导入twitter,我需要在属于模块twitter的任何类名或任何类的任何函数前加上后缀twitter。这是正确的代码:

import twitter 
consumer_key = '' 
consumer_secret = '' 
access_token = '' 
access_token_secret = '' 
t = twitter.Twitter(auth = twitter.oauth.OAuth(access_token, access_token_secret, consumer_key, consumer_secret)) 
print t 
相关问题