#!/usr/bin/env python3 """ Quick test script to check if Spotify API credentials are working """ import os from spotipy import Spotify from spotipy.oauth2 import SpotifyClientCredentials # Load environment variables client_id = os.getenv("SPOTIFY_CLIENT_ID", "") client_secret = os.getenv("SPOTIFY_CLIENT_SECRET", "") print(f"🔑 Client ID: {client_id[:10]}..." if client_id else "❌ No Client ID found") print(f"🔑 Client Secret: {'*' * 10}" if client_secret else "❌ No Client Secret found") if not client_id or not client_secret: print("❌ Missing Spotify credentials!") print("Make sure SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET are set in your environment") exit(1) try: # Initialize Spotify client client_credentials_manager = SpotifyClientCredentials( client_id=client_id, client_secret=client_secret ) sp = Spotify(client_credentials_manager=client_credentials_manager) # Test basic search print("🔍 Testing basic search...") results = sp.search(q='test', type='track', limit=1) if results and results.get('tracks', {}).get('items'): track = results['tracks']['items'][0] print(f"✅ Search successful! Found: {track['name']} by {track['artists'][0]['name']}") else: print("❌ Search returned no results") # Test recommendations print("🎵 Testing recommendations...") try: recs = sp.recommendations(seed_genres=['pop'], limit=1) if recs and recs.get('tracks'): track = recs['tracks'][0] print(f"✅ Recommendations successful! Found: {track['name']} by {track['artists'][0]['name']}") else: print("❌ Recommendations returned no results") except Exception as e: print(f"❌ Recommendations failed: {str(e)}") # Test featured playlists print("🎶 Testing featured playlists...") try: featured = sp.featured_playlists(limit=1) if featured and featured.get('playlists', {}).get('items'): playlist = featured['playlists']['items'][0] print(f"✅ Featured playlists successful! Found: {playlist['name']}") else: print("❌ Featured playlists returned no results") except Exception as e: print(f"❌ Featured playlists failed: {str(e)}") print("🎉 All tests completed!") except Exception as e: print(f"❌ Spotify connection failed: {str(e)}") print("This could be due to:") print("1. Invalid credentials") print("2. Network connectivity issues") print("3. Spotify API rate limiting") print("4. Expired credentials")