separate token gen and api pulls
This commit is contained in:
parent
7b7f3c2f18
commit
6521b5ccb4
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.oauthtoken
|
@ -3,7 +3,6 @@ from oauthlib.oauth2 import WebApplicationClient
|
||||
import webbrowser
|
||||
import urllib3
|
||||
import re
|
||||
import requests
|
||||
import subprocess
|
||||
import ast
|
||||
|
||||
@ -15,40 +14,10 @@ CLIENT_SECRET = "VfFc4JRxn4MpA5zRVut1gPIh6E5WrEC5"
|
||||
AUTH_URL = "https://oauth.battle.net/authorize"
|
||||
REDIRECT_URI = 'http://localhost:5635/login_success'
|
||||
|
||||
class SavingRequestHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
SavingRequestHandler.response_path = self.path
|
||||
token_file = open(".oauthtoken", "r")
|
||||
oauth_token = token_file.readline()
|
||||
|
||||
|
||||
def wait_for_request(server_class=http.server.HTTPServer,
|
||||
handler_class=SavingRequestHandler):
|
||||
server_address = ('', 5635)
|
||||
httpd = server_class(server_address, handler_class)
|
||||
return httpd.handle_request()
|
||||
|
||||
|
||||
def authenticate():
|
||||
client = WebApplicationClient(CLIENT_ID)
|
||||
|
||||
url = client.prepare_request_uri(
|
||||
AUTH_URL,
|
||||
redirect_uri = REDIRECT_URI,
|
||||
scope = ['wow.profile'],
|
||||
state = 'AbCdEfG'
|
||||
)
|
||||
webbrowser.open(url)
|
||||
wait_for_request()
|
||||
|
||||
authenticate()
|
||||
response_code = re.search('code=(.*)&state=', SavingRequestHandler.response_path).group(1)
|
||||
# print("this is the way ->", response_code)
|
||||
|
||||
token_url = "https://oauth.battle.net/token"
|
||||
data = {'client_id': CLIENT_ID, 'client_secret': CLIENT_SECRET, 'redirect_uri': REDIRECT_URI, 'grant_type': 'authorization_code', 'code': response_code}
|
||||
token_response = requests.post(token_url, data=data, auth=requests.auth.HTTPBasicAuth(CLIENT_ID, CLIENT_SECRET), verify=False)
|
||||
|
||||
oauth_token = token_response.json()['access_token']
|
||||
|
||||
command = ["curl", "-sH", "Authorization: Bearer {}".format(oauth_token), "https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US"]
|
||||
# | jq -r '[ .wow_accounts[0].characters[].level | select(.) ] | add / length'
|
||||
# Run the command
|
||||
|
@ -43,4 +43,5 @@ data = {'client_id': CLIENT_ID, 'client_secret': CLIENT_SECRET, 'redirect_uri':
|
||||
token_response = requests.post(token_url, data=data, auth=requests.auth.HTTPBasicAuth(CLIENT_ID, CLIENT_SECRET), verify=False)
|
||||
|
||||
oauth_token = token_response.json()['access_token']
|
||||
print(oauth_token)
|
||||
token_file = open(".oauthtoken", "w")
|
||||
token_file.write(oauth_token)
|
||||
|
Loading…
Reference in New Issue
Block a user