Spaces:
Sleeping
Sleeping
from flask import Flask, request, jsonify, redirect, render_template | |
import requests | |
import os | |
from flask_cors import CORS | |
app = Flask(__name__) | |
CORS(app) | |
# Access the secrets from environment variables in Hugging Face | |
CLIENT_ID = os.environ.get("v1") # Your Client ID | |
CLIENT_SECRET = os.environ.get("v2") # Your Client Secret | |
REDIRECT_URI = 'https://geek7-spotifypod.hf.space/callback' | |
SPOTIFY_AUTH_URL = "https://accounts.spotify.com/authorize" | |
SPOTIFY_TOKEN_URL = "https://accounts.spotify.com/api/token" | |
SPOTIFY_API_URL = "https://api.spotify.com/v1" | |
# Home route | |
def home(): | |
return "Welcome to the Image Background Remover!" | |
# Get Spotify authorization URL | |
def login(): | |
scopes = "user-read-private user-read-email" | |
auth_url = f"{SPOTIFY_AUTH_URL}?response_type=code&client_id={CLIENT_ID}&scope={scopes}&redirect_uri={REDIRECT_URI}" | |
return redirect(auth_url) | |
# Callback to handle the access token | |
def callback(): | |
code = request.args.get('code') | |
auth_response = requests.post(SPOTIFY_TOKEN_URL, data={ | |
"grant_type": "authorization_code", | |
"code": code, | |
"redirect_uri": REDIRECT_URI, | |
"client_id": CLIENT_ID, | |
"client_secret": CLIENT_SECRET, | |
}) | |
response_data = auth_response.json() | |
access_token = response_data.get("access_token") | |
return jsonify({"access_token": access_token}) | |
# Fetch data from Spotify API | |
def get_podcasts(): | |
token = request.args.get('token') # Pass access_token as a query param | |
headers = {"Authorization": f"Bearer {token}"} | |
response = requests.get(f"{SPOTIFY_API_URL}/browse/categories/podcasts", headers=headers) | |
return jsonify(response.json()) | |
if __name__ == '__main__': | |
app.run(host='0.0.0.0', port=7860) |