如何使用Twitter API检查用户/密码是否有效?

3 投票
2 回答
1736 浏览
提问于 2025-04-15 19:32

我有一个用户名和密码,我想用Twitter的API(我正在使用python-twitter)来检查这些信息是否有效。

2 个回答

1

如果你的账号信息不对,urllib2会报错,错误信息是'HTTP Error 401: Unauthorized',意思是没有权限。你可以用一个临时的API实例,比如GetFriends(),在一个try/except的代码块里去发起一个授权请求,这样就能检查你的账号信息是否有效。

import twitter, urllib2
checkCreds = twitter.Api(username, pass)
try:
  checkCreds.GetFriends()
except urllib2.HTTPError, status:
  if status.find('401') != -1:
    print 'Invalid username/password'

Twitter会故意允许在一些公开的地方,比如GetPublicTimeline()或GetUserTimeline(),发送缺少或错误的账号信息的请求

0

如果你下载了0.7版本的python-twitter,你会发现新增了一个叫做VerifyCredentials的方法。如果这个方法返回的值是None,那么说明你输入的用户名和密码不正确。

我喜欢先用api.GetUser(username)来检查用户提供的用户名是否有效,然后再用api.VerifyCredentials()来检查密码。这样我就可以告诉用户他们登录时哪个部分出错了。

正如其他人提到的,Twitter正在推动只使用OAuth登录,并预计会逐步淘汰现有的用户名和密码登录方式。

撰写回答