2010-02-21 65 views
3

我有一个用户和一个密码,我想使用Twitter API(我使用python-twitter)来检查这些是否是有效的数据。如何使用Twitter API检查用户/密码是否有效?

+0

您可能想要考虑使用OAuth来代替。我个人*讨厌*需要从其他网站提供登录信息的网站/系统;这只是一个不好的安全措施。 – Amber 2010-02-21 04:03:10

+0

我很抱歉,但我不能完全理解你的问题。您是否想要一种方法来检查您是否可以使用给定的用户名/密码组合登录到Twitter? – Nikwin 2010-02-21 04:18:48

+0

是的,Nikwin。对了。 – 2010-02-21 05:07:52

回答

0

如果您抓取python-twitter的0.7版本,则添加了VerifyCredentials方法。如果返回的值是None那么用户名/密码组合不正确。

我首先使用api.GetUser(username)来检查他们是否提供了有效的用户名,然后使用api.VerifyCredentials()来检查密码 - 这样我可以通知用户他们登录的哪部分是不正确的。

正如其他人所提到的,Twitter只推动OAuth登录,并且预计会弃用现有的用户名/密码登录方法。

+0

0.7是哪里?我只能从svn的http://code.google.com/p/python-twitter/ – 2010-02-21 13:54:18

+0

找到0.6,对 – 2010-02-21 13:56:19

1

如果证书不正确,urllib2将引发HTTPError,并且消息将为'HTTP Error 401:Unauthorized'。您可以使用API​​的临时实例在try/except块中创建授权请求(例如,GetFriends())以确定凭证是否有效。

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将intentionally allow requests with missing or incorrect credentials为可公开访问的领域,如GetPublicTimeline()或GetUserTimeline()。

相关问题