I am working on a spotify song reccomender project and keep getting the 403 error when i run, i havent been ablke to figure it out, if anybody has, please let me know!
from dotenv import load_dotenv import os import spotipy from spotipy.oauth2 import SpotifyOAuth import pandas as pd load_dotenv() SPOTIPY_CLIENT_ID = os.getenv("SPOTIPY_CLIENT_ID") SPOTIPY_CLIENT_SECRET = os.getenv("SPOTIPY_CLIENT_SECRET") SPOTIPY_REDIRECT_URI = os.getenv("SPOTIPY_REDIRECT_URI") scope = "user-library-read playlist-read-private" sp = spotipy.Spotify(auth_manager=SpotifyOAuth( client_id=SPOTIPY_CLIENT_ID, client_secret=SPOTIPY_CLIENT_SECRET, redirect_uri=SPOTIPY_REDIRECT_URI, scope=scope )) playlists = sp.current_user_playlists() playlist_df = pd.DataFrame([ { "name": pl["name"], "id": pl["id"], "track_count": pl["tracks"]["total"] } for pl in playlists["items"] ]) chosen_playlist = input("\nWhich playlist would you like to find similar songs for?\n") playlist_id = None while not playlist_id: for playlist in playlists['items']: if playlist['name'].lower() == chosen_playlist.lower(): playlist_id = playlist['id'] break if not playlist_id: print(f"\nPlaylist '{chosen_playlist}' not found.") chosen_playlist = input("\nWhich playlist would you like to find similar songs for?\n") offset = 0 limit = 100 all_tracks = [] track_count = sp.playlist_tracks(playlist_id)['total'] c = 0 while offset < track_count: results = sp.playlist_tracks(playlist_id, offset=offset, limit=limit) tracks = results['items'] print(f"\n{track_count} Tracks in '{chosen_playlist}':") for item in tracks: c += 1 all_tracks.append(item) track = item['track'] print(f"{c}. {track['name']} by {track['artists'][0]['name']}") offset += limit track_ids = [ item['track']['id'] for item in all_tracks if item['track'] and item['track']['id'] ] audio_features = sp.audio_features(track_ids) filtered_features = [f for f in audio_features if f is not None] df = pd.DataFrame(filtered_features) print("\nAudio Features:") print(df) Here is my Error message:
"C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Scripts\python.exe" "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot\main.py"
Which playlist would you like to find similar songs for? s2
2 Tracks in 's2':
- Rockabye (feat. Sean Paul & Anne-Marie) by Clean Bandit
- No Lie by Sean Paul HTTP Error for GET to https://api.spotify.com/v1/audio-features/?ids=2hrUO4drrO63i7FYbCLBl2,48QmG1dfvMuYLxMPt7KSRA with Params: {} returned 403 due to None Traceback (most recent call last): File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Lib\site-packages\spotipy\client.py", line 274, in _internal_call response.raise_for_status() File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Lib\site-packages\requests\models.py", line 1026, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api.spotify.com/v1/audio-features/?ids=2hrUO4drrO63i7FYbCLBl2,48QmG1dfvMuYLxMPt7KSRA
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot\main.py", line 68, in audio_features = sp.audio_features(track_ids) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Lib\site-packages\spotipy\client.py", line 1802, in audio_features results = self._get("audio-features/?ids=" + ",".join(tlist)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Lib\site-packages\spotipy\client.py", line 324, in _get return self._internal_call("GET", url, payload, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kinga\PycharmProjects\Spotify Song Reccomendation Chatbot.venv\Lib\site-packages\spotipy\client.py", line 294, in _internal_call raise SpotifyException( spotipy.exceptions.SpotifyException: http status: 403, code: -1 - https://api.spotify.com/v1/audio-features/?ids=2hrUO4drrO63i7FYbCLBl2,48QmG1dfvMuYLxMPt7KSRA: None, reason: None
Process finished with exit code 1