I am working on a Flask application that is supposed to create playlist with recommended songs based on a given playlist.
I have a problem with recommendations endpoint – I don’t know if it is not working or if I have a problem in my code (it has worked once or twice but generally it returns nothing and recommendations playlist is empty; the rest of the code and endpoints works well):
@app.route(‘/recommendations/<original_playlist_id>’)
def get_recommendations(original_playlist_id):
if 'access_token' not in session:
return redirect('/login')
if datetime.now().timestamp() > session['expires_at']:
return redirect('/refresh_token')
headers = {
'Authorization': f"Bearer {session['access_token']}"
}
response = requests.get(links.API_BASE_URL + "me", headers=headers)
user_id = response.json()['id']
response = requests.get(links.API_BASE_URL + f'playlists/{original_playlist_id}/tracks', headers=headers)
original_playlist_tracks = response.json()
original_track_uris = [track['track']['uri'] for track in original_playlist_tracks['items']]
original_track_ids = [track['track']['id'] for track in original_playlist_tracks['items']]
recommendations = []
for track_id in original_track_ids:
try:
response_recommendations = requests.get(links.API_BASE_URL + f'recommendations?limit=5&seed_tracks={track_id}',
headers=headers)
recommendations_data = response_recommendations.json()['tracks']
recommendations.append(recommendations_data)
except Exception as e:
print("Error:", e)
continue
if len(recommendations) == 0:
return '''<a>Error</a>
<br>
<a href='/home'>Home</a>
'''
Maja Furmaniuk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.