def generic_request(base_url, query=None): parameters = generate_base_data() query_string = "" if not query == None: query_string = add_params(query) parameters.extend(query) request = urllib.request.Request(base_url + query_string) signature = myoauth.oauth_sign( request.get_method(), base_url, parameters, OAUTH_CONSUMER_SECRET, OAUTH_TOKEN_SECRET ) header_string = generate_header_string(parameters, [["oauth_signature", signature]]) request.add_header("Authorization", header_string) return urllib.request.urlopen(request)
def test_oauth_sign(self): parameters = [ ['status','Hello Ladies + Gentlemen, a signed OAuth request!'], ['include_entities','true'], ['oauth_consumer_key','xvz1evFS4wEEPTGEFPHBog'], ['oauth_nonce','kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg'], ['oauth_signature_method','HMAC-SHA1'], ['oauth_timestamp','1318622958'], ['oauth_token','370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb'], ['oauth_version','1.0'] ] test_consumer_secret = 'kAcSOqF21Fu85e7zjz7ZN2U4ZRhfV3WpwPAoE3Z7kBw' test_oauth_token_secret = 'LswwdoUaIvS8ltyTt5jkRh4J50vUPVVHtR2YPi5kE' test_signature = 'tnnArxj06cWHq44gCs1OSKk/jLY=' signature = myoauth.oauth_sign('POST', 'https://api.twitter.com/1/statuses/update.json', parameters, test_consumer_secret, test_oauth_token_secret) self.assertEqual(test_signature, signature)
def statuses_mentions(query=None): base_url = "http://api.twitter.com/1/statuses/mentions.json" parameters = generate_base_data() query_string = "" if not query == None: query_string = add_params(query) parameters.extend(query) request = urllib.request.Request(base_url + query_string) signature = myoauth.oauth_sign( request.get_method(), base_url, parameters, OAUTH_CONSUMER_SECRET, OAUTH_TOKEN_SECRET ) header_string = generate_header_string(parameters, [["oauth_signature", signature]]) request.add_header("Authorization", header_string) print(request.get_header("Authorization")) print(request.get_method()) print(request.get_full_url()) return urllib.request.urlopen(request)
def retweeted_by_me(query=None): base_url = "http://api.twitter.com/1/statuses/retweeted_by_me.json" parameters = generate_base_data() query_string = "" if not query == None: query_string = add_params(query) parameters.extend(query) # print('extended parameters: '+parameters) # querystring = urllib.parse.quote('?include_entities=true', safe='?') request = urllib.request.Request(base_url + query_string) signature = myoauth.oauth_sign( request.get_method(), base_url, parameters, OAUTH_CONSUMER_SECRET, OAUTH_TOKEN_SECRET ) header_string = generate_header_string(parameters, [["oauth_signature", signature]]) request.add_header("Authorization", header_string) return urllib.request.urlopen(request)