模块对象没有属性 oauth

1 投票
2 回答
2455 浏览
提问于 2025-04-19 06:38

我正在尝试使用一个推特的库来获取一些推文,但我无法正确设置授权。这是我的代码:

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: 'module' object has no attribute 'oauth'”。我只是把推特帮助里的代码复制过来,为什么它就不工作呢?

2 个回答

0

因为我在使用导入的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
1

在不知道你使用哪个库的情况下,我假设你在用这个库,因为它的语法看起来是一样的。出现的错误提示说明你没有导入处理oauth的模块。你可以通过在代码顶部添加以下内容来导入所有模块:

from twitter import *

不过,这样做其实不太推荐,因为你可能并不需要库中的每一个模块,所以最好只导入你需要的模块,比如:

from twitter import oauth

撰写回答