Posted by hs on Tue 24 Mar 05:19
report abuse | download | new post
- #!/usr/bin/python
- import oauth, httplib, urllib
- KEY = '' #Fill me in
- SECRET = '' #Fill me in
- SERVER = 'www.jaiku.com'
- REQURL = '/api/request_token'
- ACCURL = '/api/access_token'
- AUTURL = 'http://www.jaiku.com/api/authorize'
- class MyOAuthClient(oauth.OAuthClient):
- def __init__(self, server, request_token_url, access_token_url):
- self.server = server
- self.request_token_url = request_token_url
- self.access_token_url = access_token_url
- self.full_request_url = "http://" + self.server + self.request_token_url
- self.full_access_url = "http://" + self.server + self.access_token_url
- self.connection = httplib.HTTPConnection(self.server)
- def fetch_request_token(self, oauth_request):
- self.connection.request('GET', self.request_token_url, headers=oauth_request.to_header())
- response = self.connection.getresponse()
- return oauth.OAuthToken.from_string(response.read())
- def authorize_token(self, oauth_request):
- self.connection.request('GET', oauth_request.to_url())
- response = self.connection.getresponse()
- return response.read()
- def fetch_access_token(self, oauth_request):
- self.connection.request('GET', self.access_token_url, headers=oauth_request.to_header())
- response = self.connection.getresponse()
- return oauth.OAuthToken.from_string(response.read())
- if __name__ == "__main__":
- import os, re
- client = MyOAuthClient(SERVER, REQURL, ACCURL)
- consumer = oauth.OAuthConsumer(KEY, SECRET)
- sig_method = oauth.OAuthSignatureMethod_HMAC_SHA1()
- oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, http_url=client.full_request_url)
- oauth_request.sign_request(sig_method, consumer, None)
- token = client.fetch_request_token(oauth_request)
- print "*** Obtained request token."
- oauth_request = oauth.OAuthRequest.from_token_and_callback(token, http_url=AUTURL)
- response = client.authorize_token(oauth_request)
- m = re.search('HREF="(.+)"', response)
- print "*** Please login to this URL:\n" + m.group(1)
- os.system('pause')
- oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer, token=token, http_url=client.full_access_url)
- oauth_request.sign_request(sig_method, consumer, token)
- token = client.fetch_access_token(oauth_request)
- print "*** Got access token:\n" + str(token)
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.