2010-02-21 6 views
3

나는 사용자와 암호를 가지고 있으며, 유효한 데이터인지를 확인하기 위해 Twitter API (파이썬 - 트위터 사용)를 사용하고 싶습니다.Twitter API를 사용하여 사용자/비밀번호가 유효한지 확인하는 방법은 무엇입니까?

+0

대신 OAuth를 사용해보세요. 개인적으로 * 다른 사이트에서 로그인 정보를 제공해야하는 사이트/시스템을 요구하는 * 싫어합니다. 좋은 보안 관행이 아닙니다. – Amber

+0

죄송 합니다만 귀하의 질문을 완전히 이해할 수는 없습니다. 주어진 사용자 이름/암호 조합으로 트위터에 로그인 할 수 있는지 확인하는 방법을 묻고 있습니까? – Nikwin

+0

예, Nikwin. 맞아. –

답변

0

python-twitter의 0.7 버전을 사용하는 경우 VerifyCredentials 메서드가 추가되었습니다. 반환 값이 None이면 사용자 이름/암호 조합이 올바르지 않습니다.

먼저 유효한 사용자 이름을 제공했는지 확인한 다음 api.VerifyCredentials()을 사용하여 비밀번호를 확인하는 것이 좋았습니다. 이렇게하면 로그인 한 부분이 잘못되었음을 사용자에게 알릴 수있었습니다.

다른 사람들도 언급했듯이 트위터는 OAuth 로그인만을 요구하며 기존 사용자 이름/passwd 로그인 방법을 더 이상 사용하지 않을 것으로 예상됩니다.

+0

어디서 0.7입니까? 나는 단지 svn에서 http://code.google.com/p/python-twitter/ –

+0

에서 0.6을 찾을 수 있습니다. –

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' 

트위터 것 같은 GetPublicTimeline() 또는 GetUserTimeline 같은 공개적으로 접근 가능한 지역 intentionally allow requests with missing or incorrect credentials().

관련 문제