26
26
or find one that works with your web framework.
27
27
"""
28
28
29
- import httplib
29
+ import http . client
30
30
import time
31
31
import oauth .oauth as oauth
32
32
48
48
# example client using httplib with headers
49
49
class SimpleOAuthClient (oauth .OAuthClient ):
50
50
51
- def __init__ (self , server , port = httplib .HTTP_PORT , request_token_url = '' , access_token_url = '' , authorization_url = '' ):
51
+ def __init__ (self , server , port = http . client .HTTP_PORT , request_token_url = '' , access_token_url = '' , authorization_url = '' ):
52
52
self .server = server
53
53
self .port = port
54
54
self .request_token_url = request_token_url
55
55
self .access_token_url = access_token_url
56
56
self .authorization_url = authorization_url
57
- self .connection = httplib .HTTPConnection ("%s:%d" % (self .server , self .port ))
57
+ self .connection = http . client .HTTPConnection ("%s:%d" % (self .server , self .port ))
58
58
59
59
def fetch_request_token (self , oauth_request ):
60
60
# via headers
@@ -88,78 +88,78 @@ def access_resource(self, oauth_request):
88
88
def run_example ():
89
89
90
90
# setup
91
- print '** OAuth Python Library Example **'
91
+ print ( '** OAuth Python Library Example **' )
92
92
client = SimpleOAuthClient (SERVER , PORT , REQUEST_TOKEN_URL , ACCESS_TOKEN_URL , AUTHORIZATION_URL )
93
93
consumer = oauth .OAuthConsumer (CONSUMER_KEY , CONSUMER_SECRET )
94
94
signature_method_plaintext = oauth .OAuthSignatureMethod_PLAINTEXT ()
95
95
signature_method_hmac_sha1 = oauth .OAuthSignatureMethod_HMAC_SHA1 ()
96
96
pause ()
97
97
98
98
# get request token
99
- print '* Obtain a request token ...'
99
+ print ( '* Obtain a request token ...' )
100
100
pause ()
101
101
oauth_request = oauth .OAuthRequest .from_consumer_and_token (consumer , callback = CALLBACK_URL , http_url = client .request_token_url )
102
102
oauth_request .sign_request (signature_method_plaintext , consumer , None )
103
- print 'REQUEST (via headers)'
104
- print 'parameters: %s' % str (oauth_request .parameters )
103
+ print ( 'REQUEST (via headers)' )
104
+ print ( 'parameters: %s' % str (oauth_request .parameters ) )
105
105
pause ()
106
106
token = client .fetch_request_token (oauth_request )
107
- print 'GOT'
108
- print 'key: %s' % str (token .key )
109
- print 'secret: %s' % str (token .secret )
110
- print 'callback confirmed? %s' % str (token .callback_confirmed )
107
+ print ( 'GOT' )
108
+ print ( 'key: %s' % str (token .key ) )
109
+ print ( 'secret: %s' % str (token .secret ) )
110
+ print ( 'callback confirmed? %s' % str (token .callback_confirmed ) )
111
111
pause ()
112
112
113
- print '* Authorize the request token ...'
113
+ print ( '* Authorize the request token ...' )
114
114
pause ()
115
115
oauth_request = oauth .OAuthRequest .from_token_and_callback (token = token , http_url = client .authorization_url )
116
- print 'REQUEST (via url query string)'
117
- print 'parameters: %s' % str (oauth_request .parameters )
116
+ print ( 'REQUEST (via url query string)' )
117
+ print ( 'parameters: %s' % str (oauth_request .parameters ) )
118
118
pause ()
119
119
# this will actually occur only on some callback
120
120
response = client .authorize_token (oauth_request )
121
- print 'GOT'
122
- print response
121
+ print ( 'GOT' )
122
+ print ( response )
123
123
# sad way to get the verifier
124
- import urlparse , cgi
125
- query = urlparse .urlparse (response )[4 ]
124
+ import urllib . parse , cgi
125
+ query = urllib . parse .urlparse (response )[4 ]
126
126
params = cgi .parse_qs (query , keep_blank_values = False )
127
127
verifier = params ['oauth_verifier' ][0 ]
128
- print 'verifier: %s' % verifier
128
+ print ( 'verifier: %s' % verifier )
129
129
pause ()
130
130
131
131
# get access token
132
- print '* Obtain an access token ...'
132
+ print ( '* Obtain an access token ...' )
133
133
pause ()
134
134
oauth_request = oauth .OAuthRequest .from_consumer_and_token (consumer , token = token , verifier = verifier , http_url = client .access_token_url )
135
135
oauth_request .sign_request (signature_method_plaintext , consumer , token )
136
- print 'REQUEST (via headers)'
137
- print 'parameters: %s' % str (oauth_request .parameters )
136
+ print ( 'REQUEST (via headers)' )
137
+ print ( 'parameters: %s' % str (oauth_request .parameters ) )
138
138
pause ()
139
139
token = client .fetch_access_token (oauth_request )
140
- print 'GOT'
141
- print 'key: %s' % str (token .key )
142
- print 'secret: %s' % str (token .secret )
140
+ print ( 'GOT' )
141
+ print ( 'key: %s' % str (token .key ) )
142
+ print ( 'secret: %s' % str (token .secret ) )
143
143
pause ()
144
144
145
145
# access some protected resources
146
- print '* Access protected resources ...'
146
+ print ( '* Access protected resources ...' )
147
147
pause ()
148
148
parameters = {'file' : 'vacation.jpg' , 'size' : 'original' } # resource specific params
149
149
oauth_request = oauth .OAuthRequest .from_consumer_and_token (consumer , token = token , http_method = 'POST' , http_url = RESOURCE_URL , parameters = parameters )
150
150
oauth_request .sign_request (signature_method_hmac_sha1 , consumer , token )
151
- print 'REQUEST (via post body)'
152
- print 'parameters: %s' % str (oauth_request .parameters )
151
+ print ( 'REQUEST (via post body)' )
152
+ print ( 'parameters: %s' % str (oauth_request .parameters ) )
153
153
pause ()
154
154
params = client .access_resource (oauth_request )
155
- print 'GOT'
156
- print 'non-oauth parameters: %s' % params
155
+ print ( 'GOT' )
156
+ print ( 'non-oauth parameters: %s' % params )
157
157
pause ()
158
158
159
159
def pause ():
160
- print ''
160
+ print ( '' )
161
161
time .sleep (1 )
162
162
163
163
if __name__ == '__main__' :
164
164
run_example ()
165
- print 'Done.'
165
+ print ( 'Done.' )
0 commit comments