2010-05-14 51 views
3

我想使用Python中的Twitter API使用查找方法從名稱中查找用戶ID。我已經做了類似的請求,只需使用在Python中使用urllib2的Twitter API

response = urllib2.urlopen('http://search.twitter.com...') 

但是對於這個我需要身份驗證。我不認爲我可以通過Google python twitter API來完成它,因爲它沒有查找方法。任何想法我怎麼能auth與urllib2?

回答

3

使用urllib2.Request定義完整的HTTP標頭:但是

request = urllib2.Request('http://twitter.com/...') 
request.add_header('Authorization', 'Basic ' + base64.b64encode(username + ':' + password)) 
response = urllib2.urlopen(request) 

注該基本授權將很快在Twitter上停用,您需要遷移到OAuth。 Twitter API Wiki有一些例子。

1

使用Twython庫,這是按名稱來查找用戶ID代碼:

from twython import Twython 
twitter = Twython(APP_KEY, APP_SECRET,OAUTH_TOKEN, OAUTH_TOKEN_SECRET) 
print twitter.show_user(screen_name=USER_NAME)["id"] 

我希望這有助於。

0

可以使用各種Twitter API封裝器庫進行驗證。在Twitter Developer Page中列出了封裝API的完整列表。

無論圖書館是什麼,您都必須實施OAuth身份驗證。這是使用Python Twitter Tool的示例代碼。

from twitter import * 

MY_TWITTER_CREDS = os.path.expanduser('~/.my_app_credentials') 
if not os.path.exists(MY_TWITTER_CREDS): 
    oauth_dance("My App Name", CONSUMER_KEY, CONSUMER_SECRET, 
       MY_TWITTER_CREDS) 

oauth_token, oauth_secret = read_token_file(MY_TWITTER_CREDS) 

twitter = Twitter(auth=OAuth(
    oauth_token, oauth_secret, CONSUMER_KEY, CONSUMER_SECRET)) 

# Now search with Twitter 
rel = t.search.tweets(q='whatever')['statuses'] 
# Now do whatever you want with rel object