我正在尝试在python中编写一个twitter客户端应用程序。我想使用xAuth进行身份验证。我在图书馆的选择是微不足道的,因为它似乎知道我需要的一切。
这是我的问题:
>>> import tweepy
>>> auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
>>> auth.get_xauth_access_token('username', 'password')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tweepy/auth.py", line 152, in get_xauth_access_token
raise TweepError(e)
tweepy.error.TweepError: HTTP Error 401: Unauthorized
用户名和密码是正确的,我可以用它们登录。 CONSUMER_ {KEY,SECRET}也有效,我从我的申请页面中复制了它们。
你知道为什么上面的代码失败了吗?
答案 0 :(得分:2)
您是否通过电子邮件发送了Twitter支持,以便让他们为您的应用启用xAuth?
Twitter只希望桌面和移动应用程序使用xAuth,因此注册的应用程序默认禁用xAuth,并且您需要Twitter上的某个人为您启用它。如果您的应用程序未启用xAuth,则会获得401。
要启用xAuth,请发送电子邮件至api@twitter.com,其中包含您的应用程序名称及其需要xAuth而非普通旧OAuth的原因(例如,它不适合在我的桌面应用程序中弹出Web浏览器)。