Прежде всего, я бы посоветовал вам больше узнать об отладке вашего кода на Python, так как это важный навык для разработчика, и он может помочь вам в дальнейшем разобраться в проблеме. Например, из вашего примера можно сделать вывод, что ваша программа не выполняет ничего, кроме следующей строки
results = sp.search(q='weezer', limit=20)
Но единственная информация, которую вы получаете, - это код возврата 500, который не говорит вамименно то, что идет не так, только то, что что-то не правильно.
Один из первых шагов, которые вы могли бы предпринять, например, попытаться выяснить , что именно именно приводит к завершению вашего кода. Если вы оберните оператор в блок try, кроме, вы сможете точно увидеть, какая именно ошибка возникает, например, так:
try:
results = sp.search(q='weezer', limit=20)
except Exception as e:
print(e)
Это ловит ошибку, сгенерированную оператором, и печатает еекоторый выдаст следующее:
http статус: 401, код: -1 - https://api.spotify.com/v1/search?q=weezer&limit=20&offset=0&type=track: токен не предоставлен
Это уже гораздо более красноречивочем просто ошибка 500, верно? Я не рекомендовал бы этот метод для каждой проблемы в вашем коде, но это только начало.
Чтобы узнать больше о том, как отладить ваш код, вы можете прочитать такие статьи, как this .
В любом случае:
Когда я запускаю ваш код, spotipy.client.SpotifyException
поднимается, потому что API Spotify возвращает код ошибки 401.
401 (Unauthorized) означает, что у вас естьнет авторизации для доступа к запрашиваемому ресурсу, и, в частности, для API Spotify, это означает, что вам нужно будет предоставить действительный токен.
Вам нужно будет запросить токен у пользователя и передать этот токен. при инициализации spotify так:
...
sp = spotipy.Spotify(auth=token)
results = sp.search(q='weezer', limit=20)
...
Как именно вы получаете этот токен от пользователя, зависит от остальной части вашей реализации. Я бы порекомендовал прочитать о потоке аутентификации Spotify
Есть также много других примеров того, как люди реализовали поток авторизации в spotipy, например, в этом потоке StackOverflow.