pip install oauth2
import oauth2 as oauth
import urlparse
import webbrowser
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
authorization_url = "https://example.com/oauth/authorize"
token_url = "https://example.com/oauth/token"
redirect_uri = "http://localhost:8000/callback"
client = oauth.Client(client_id, client_secret)
params = {
"response_type": "code",
"client_id": client_id,
"redirect_uri": redirect_uri
}
url = "%s?%s" % (authorization_url, urlencode(params))
webbrowser.open(url)
query = urlparse.urlsplit(request.url).query
params = urlparse.parse_qs(query)
authorization_code = params['code'][0]
params = {
"grant_type": "authorization_code",
"client_id": client_id,
"client_secret": client_secret,
"redirect_uri": redirect_uri,
"code": authorization_code
}
response, content = client.request(token_url, method="POST", body=urlencode(params))
access_token = json.loads(content)['access_token']
resource_url = "https://example.com/api/resource"
headers = {"Authorization": "Bearer %s" % access_token}
response, content = client.request(resource_url, headers=headers)