30 lines
971 B
Python
30 lines
971 B
Python
|
from requests_oauthlib import OAuth2Session
|
||
|
from oauthlib.oauth2 import BackendApplicationClient
|
||
|
|
||
|
|
||
|
def get_token(client_id, client_secret, token_url, username, password):
|
||
|
client = BackendApplicationClient(client_id=client_id)
|
||
|
oauth = OAuth2Session(client=client)
|
||
|
token = oauth.fetch_token(token_url=token_url, username=username, password=password, client_id=client_id,
|
||
|
client_secret=client_secret)
|
||
|
return token
|
||
|
|
||
|
|
||
|
def api_client(base_url, token):
|
||
|
client = OAuth2Session(token=token)
|
||
|
response = client.get(base_url)
|
||
|
return response.content
|
||
|
|
||
|
|
||
|
client_id = '<your_client_id>'
|
||
|
client_secret = '<your_secret_id>'
|
||
|
token_url = '<oauth_token_url>'
|
||
|
username = '<your_username>'
|
||
|
password = '<your_password>'
|
||
|
|
||
|
# Fetch token
|
||
|
token = get_token(client_id, client_secret, token_url, username, password)
|
||
|
|
||
|
# Now we can make API calls
|
||
|
api_response = api_client('https://api.example.com/resource', token)
|