我成功安装并使用了Tweepy。但是,当我尝试仅使用Twitter API时,我收到以下错误
AttributeError: 'module' object has no attribute 'oauth'
我使用的代码来自Mining the Social Web,第2版:
import twitter
def oauth_login():
# XXX: Go to http://twitter.com/apps/new to create an app and get values
# for these credentials that you'll need to provide in place of these
# empty string values that are defined as placeholders.
# See https://dev.twitter.com/docs/auth/oauth for more information
# on Twitter's OAuth implementation.
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
CONSUMER_KEY, CONSUMER_SECRET)
twitter_api = twitter.Twitter(auth=auth)
return twitter_api
以下调用后会显示错误:
twitter_api = oauth_login()
print twitter_api
我安装了oauth,但我无法弄清楚发生了什么。我需要安装Tweepy,因为我已经编写了大量与Tweepy一起使用的代码,我猜这个问题源于安装了Tweepy。
编辑:本书中的代码使用https://github.com/sixohsix/twitter
答案 0 :(得分:0)
在最新版本的Tweepy中,OAuth是通过创建新的OAuthHandler
实例来执行的 - 没有OAuth
类。此外,OAuthHandler
包含在auth
包中,而不在oauth
包中。最后,所有四个身份验证密钥都不会传递给构造函数 - 使用set_access_token
方法设置访问令牌和访问令牌密钥。
您的代码应如下所示:
auth = tweepy.auth.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)