-
Notifications
You must be signed in to change notification settings - Fork 971
Open
Labels
Description
Describe the bug
When requesting a show list using show_episodes the URI that is used seems to be;
https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes/?limit=50&offset=0
However if the same request is done with a curl the URI used is;
https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes?offset=0&limit=20
NOTE: spotipy adds and addtional / after episodes, which breaks the URI and results in a 404
CURL Command
curl -X "GET" "https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Python Code
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
uri = 'spotify:show:47Xw6QagBN5lTAp1Cyoyye'
spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials())
results = spotify.show_episodes(uri)
Expected behavior
As per description above
Output From Python
HTTP Error for GET to https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes/ with Params: {'limit': 50, 'offset': 0, 'market': None} returned 404 due to non existing id
Traceback (most recent call last):
File "/home/reaver/.local/lib/python3.8/site-packages/spotipy/client.py", line 245, in _internal_call
response.raise_for_status()
File "/home/reaver/.local/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes/?limit=50&offset=0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./get-show-list.py", line 10, in <module>
results = spotify.show_episodes(uri)
File "/home/reaver/.local/lib/python3.8/site-packages/spotipy/client.py", line 512, in show_episodes
return self._get(
File "/home/reaver/.local/lib/python3.8/site-packages/spotipy/client.py", line 297, in _get
return self._internal_call("GET", url, payload, kwargs)
File "/home/reaver/.local/lib/python3.8/site-packages/spotipy/client.py", line 267, in _internal_call
raise SpotifyException(
spotipy.exceptions.SpotifyException: http status: 404, code:-1 - https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes/?limit=50&offset=0:
non existing id, reason: None
Output From CURL
{
"href": "https://api.spotify.com/v1/shows/47Xw6QagBN5lTAp1Cyoyye/episodes?offset=0&limit=20",
"items": [
{
"audio_preview_url": "https://p.scdn.co/mp3-preview/5f44c3e9375fba9b9d273188eafd79f6f4879fa6",
"description": "In this episode we discuss; ACCC Drop Case, Show Stats, Chat GPT, Favourite Moment, Tech Predictions, Look Back & Highlights",
"duration_ms": 3495741,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/episode/3upuqsUV79ZA8ygqdXQEqK"
},
"href": "https://api.spotify.com/v1/episodes/3upuqsUV79ZA8ygqdXQEqK",
"html_description": "<p>“Predict like an AI” In this episode we discuss; ACCC Drop Case, Show Stats,
...
NOTE: The different URI's in each output above.
Environment:
- Linux Ubuntu 20.04
- Python version 3.8.10
- spotipy version 2.21.0
- IDE vscode
Additional context
Add any other context about the problem here.