pip install python-oauth2
python
import oauth2 as oauth
import urlparse
python
consumer_key = 'your_consumer_key'
consumer_secret = 'your_consumer_secret'
request_token_url = 'https://example.com/oauth/request_token'
authorization_url = 'https://example.com/oauth/authorize'
access_token_url = 'https://example.com/oauth/access_token'
python
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
python
response, content = client.request(request_token_url, 'GET')
if response.status != 200:
raise Exception('Failed to obtain a request token')
request_token = dict(urlparse.parse_qsl(content.decode('utf-8')))
python
authorize_url = authorization_url + '?oauth_token=' + request_token['oauth_token']
print('Please go to the following URL and authorize the application:')
print(authorize_url)
parsed_url = urlparse.urlparse(redirect_url)
query_params = urlparse.parse_qs(parsed_url.query)
oauth_verifier = query_params['oauth_verifier'][0]
access_token_url = access_token_url + '?oauth_verifier=' + oauth_verifier
response, content = client.request(access_token_url, 'GET')
if response.status != 200:
raise Exception('Failed to obtain an access token')
access_token = dict(urlparse.parse_qsl(content.decode('utf-8')))
python
api_url = 'https://example.com/api/endpoint'
headers = {'Content-Type': 'application/json', 'Authorization': 'OAuth ' + access_token['oauth_token']}
response, content = client.request(api_url, 'GET', headers=headers)
if response.status == 200:
data = content.decode('utf-8')
else:
raise Exception('Failed to fetch data from the API')