我正在尝试在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

用户名和密码是正确的,我可以与它们登录。消费者_ {key,secret}也有效,我从应用程序的页面复制它们。

您是否知道为什么上述代码失败?

有帮助吗?

解决方案

您是否已通过电子邮件发送了Twitter支持以使他们为您的应用程序打开XAuth?

Twitter仅希望Xauth被桌面和移动应用程序使用,因此注册的应用程序默认情况下已禁用Xauth,并且您需要在Twitter上的某人为您打开它。如果您的应用程序未启用Xauth,则获得401。

要启用Xauth,请将电子邮件发送到api@twitter.com,并带有您的应用程序名称以及需要Xauth而不是普通的Oauth的原因(例如,在我的桌面应用程序中弹出Web浏览器不合适)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top