add first auth script
This commit is contained in:
parent
c78d29d22a
commit
cca8dae39a
46
spotiplayer_pi/first_auth.py
Normal file
46
spotiplayer_pi/first_auth.py
Normal file
@ -0,0 +1,46 @@
|
||||
import requests
|
||||
import webbrowser
|
||||
from urllib.parse import urlencode, urlparse, parse_qs
|
||||
import base64
|
||||
|
||||
|
||||
CLIENT_ID = input("YOUR_CLIENT_ID: ")
|
||||
CLIENT_SECRET = input("YOUR_CLIENT_SECRET: ")
|
||||
BASE_64 = base64.b64encode(f"{CLIENT_ID}:{CLIENT_SECRET}".encode()).decode()
|
||||
REDIRECT_URI = "http://127.0.0.1:8888/callback"
|
||||
SCOPE = "user-read-private user-read-email"
|
||||
|
||||
webbrowser.open(
|
||||
"https://accounts.spotify.com/authorize?"
|
||||
+ urlencode(
|
||||
{
|
||||
"client_id": CLIENT_ID,
|
||||
"response_type": "code",
|
||||
"redirect_uri": REDIRECT_URI,
|
||||
"scope": SCOPE,
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
url = input("Paste FULL callback URL: ").strip()
|
||||
code = parse_qs(urlparse(url).query)["code"][0]
|
||||
|
||||
r = requests.post(
|
||||
"https://accounts.spotify.com/api/token",
|
||||
auth=(CLIENT_ID, CLIENT_SECRET),
|
||||
data={
|
||||
"grant_type": "authorization_code",
|
||||
"code": code,
|
||||
"redirect_uri": REDIRECT_URI,
|
||||
},
|
||||
)
|
||||
r.raise_for_status()
|
||||
tokens = r.json()
|
||||
|
||||
print("-" * 20)
|
||||
print("ACCESS TOKEN :", tokens["access_token"])
|
||||
print("REFRESH TOKEN:", tokens["refresh_token"])
|
||||
print(
|
||||
"BASE64:", BASE_64
|
||||
) # TODO set these automatically in config.yaml, auto update when expired
|
||||
print("-" * 20)
|
||||
Loading…
x
Reference in New Issue
Block a user