Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- from urllib.parse import urlparse, parse_qs
- import json
- import sys
- import webbrowser
- import requests
- server_url = "http://localhost:8001"
- server_url = "https://devel.blenderkit.com"
- client_id = "IdFRwa3SGA8eMpzhRVFMg5Ts8sPK93xBjif93x0F"
- client_secret = "vwk8bKYQvW39FS1WenUTefV4OZ3qHkeMCBpNB4pSmFpTj5XPWNWAcMYYFYKLormHQ9jXCAa2DpPBez3r7mzszmyOYFzLVUAgcGIrOiSAYq1ldmvSMzxzwkqpZUMFRS9j"
- webbrowser.open_new(
- "%s/o/authorize?client_id=%s&state=random_state_string&response_type=code" % (server_url, client_id)
- )
- # Create a TCP/IP socket
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- server_address = ('localhost', 1234)
- print('starting up on %s port %s' % server_address)
- sock.bind(server_address)
- sock.listen(1)
- while True:
- # Wait for a connection
- print('waiting for a connection')
- connection, client_address = sock.accept()
- try:
- print('connection from ', client_address)
- # Receive the data in small chunks and retransmit it
- data = connection.recv(150)
- print('received "%s"' % data)
- if data:
- url = data.split(b" ")[1]
- print("url: ", url)
- break
- else:
- print('no more data from ', client_address)
- break
- finally:
- # Clean up the connection
- connection.close()
- qs = parse_qs(urlparse(url).query)
- print(qs)
- code = qs[b'code'][0]
- print(code)
- r = requests.post(
- '%s/o/token/' % server_url,
- data={
- "grant_type": "authorization_code",
- "code": code,
- "state": "random_state_string",
- "client_id": client_id,
- "client_secret": client_secret,
- "scopes": "read write",
- }
- )
- print(r.status_code)
- if r.status_code != 200:
- sys.exit(0)
- print(r.content)
- refresh_token = json.loads(r.content)['refresh_token']
- print(refresh_token)
- r = requests.post(
- '%s/o/token/' % server_url,
- data={
- "grant_type": "refresh_token",
- "refresh_token": refresh_token,
- "state": "random_state_string",
- "client_id": client_id,
- "client_secret": client_secret,
- "scopes": "read write",
- }
- )
- print(r.status_code)
- print(r.content)
- refresh_token = json.loads(r.content)['refresh_token']
- print(refresh_token)
- if r.status_code != 200:
- sys.exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement