add first auth script

This commit is contained in:
barry 2026-09-02 17:26:15 +02:00
parent c78d29d22a
commit cca8dae39a

View 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)