simple oath2 api client
This commit is contained in:
		
							parent
							
								
									ea4794a7bc
								
							
						
					
					
						commit
						83fed3f7c4
					
				
							
								
								
									
										0
									
								
								api-client/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								api-client/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										29
									
								
								api-client/eg.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								api-client/eg.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| 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) | ||||
							
								
								
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| oauthlib~=3.2.2 | ||||
| requests~=2.32.3 | ||||
| requests-oauthlib~=2.0.0 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user