spotipy-dev / spotipy

A light weight Python library for the Spotify Web API
http://spotipy.readthedocs.org
MIT License
4.99k stars 954 forks source link

playlist_items() Limit and Offset not working #692

Closed JacksonMHoke closed 3 years ago

JacksonMHoke commented 3 years ago

Describe the bug The function playlist_items's offset and limit parameter are not working for me.

Your code

from spotipy.oauth2 import SpotifyClientCredentials, SpotifyOAuth
import json

credentials=open('credentials.json')
keys=json.load(credentials)

scope="user-library-read"
spotify = spotipy.Spotify(client_credentials_manager=SpotifyClientCredentials(client_id=keys['CLIENT_ID'], client_secret=keys['CLIENT_SECRET']),
    auth_manager=SpotifyOAuth(client_id=keys['CLIENT_ID'], client_secret=keys['CLIENT_SECRET'], redirect_uri="http://localhost:8888/callback", scope=scope))

playlist = spotify.playlist_items(playlist_id="7zea9So7ZqkHJk2sjPSezz?si=89a4b290212a473a",offset=1, limit=50)
for idx, item in enumerate(playlist['tracks']['items']):
    track=item['track']
    res=spotify.search(track['artists'][0]['name'], limit=1, type='artist')
    print(idx, track['artists'][0]['name'], " - ", res['artists']['items'][0]['genres'])

Expected behavior I believe that this bit of code should output the artist name/genre for that album for tracks 2-51. Instead it outputs tracks 1-100

Output 0 Sayuri - ['anime', 'anime rock', 'j-pixie', 'j-pop', 'j-poprock', 'otacore'] 1 moumoon - ['j-poprock'] 2 MAN WITH A MISSION - ['anime', 'anime rock', 'j-pop', 'j-poprock', 'j-rock'] 3 Paramore - ['candy pop', 'emo', 'pixie', 'pop emo', 'pop punk'] 4 Hello Sleepwalkers - ['anime rock', 'j-poprock', 'j-rock', 'okinawan pop'] 5 ALL OFF - ['japanese pop punk'] 6 Luschka - ['doujin'] 7 coldrain - ['j-rock', 'japanese post-hardcore', 'metalcore'] 8 久石让 (Joe Hisaishi) - [] 9 I Don't Like Mondays. - ['j-pop', 'j-poprock', 'j-rock', 'japanese r&b'] 10 AOA - ['k-pop', 'k-pop girl group'] 11 Yvette Young - ['math pop'] 12 BAND-MAID - ['idol rock', 'j-pixie', 'kawaii metal'] 13 The Winking Owl - ['anime rock', 'idol rock', 'j-pixie', 'j-poprock', 'japanese emo', 'japanese pop punk'] 14 Taichi Mukai - ['japanese r&b'] 15 Sara Bareilles - ['acoustic pop', 'dance pop', 'lilith', 'neo mellow', 'pop', 'pop rock', 'post-teen pop'] 16 Mili - ['anime', 'anime score', 'otacore'] 17 GARNiDELiA - ['anime', 'anime rock', 'j-pixie', 'j-poprock', 'otacore'] 18 ヨルシカ - ['j-pop'] 19 Crystal Kay - ['j-pop', 'japanese r&b'] 20 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 21 LAST ALLIANCE - ['j-poprock', 'j-rock', 'visual kei'] 22 Hikaru Utada - ['anime', 'classic j-pop', 'j-pop', 'japanese singer-songwriter'] 23 WANIMA - ['j-pop', 'j-poprock', 'j-punk', 'j-rock', 'japanese pop punk', 'japanese punk rock'] 24 The Winking Owl - ['anime rock', 'idol rock', 'j-pixie', 'j-poprock', 'japanese emo', 'japanese pop punk'] 25 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 26 ヨルシカ - ['j-pop'] 27 Bring Me The Horizon - ['melodic metalcore', 'metalcore', 'rock', 'uk metalcore'] 28 Hikaru Utada - ['anime', 'classic j-pop', 'j-pop', 'japanese singer-songwriter'] 29 Mashiro Ayano - ['anime'] 30 Eminence Symphony Orchestra - ['japanese instrumental', 'scorecore'] 31 Frédéric Chopin - ['classical', 'early romantic era', 'polish classical'] 32 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 33 Nolwenn Leroy - ['chanson', 'french pop'] 34 Hikaru Utada - ['anime', 'classic j-pop', 'j-pop', 'japanese singer-songwriter'] 35 RADWIMPS - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 36 WagakkiBand - ['idol rock', 'kawaii metal', 'oriental metal', 'shamisen'] 37 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 38 BiSH - ['electropop', 'indie poptimism', 'modern alternative rock', 'modern rock', 'pop'] 39 Mizuki Ohira - ['japanese r&b'] 40 Sean Schafianski - ['scorecore'] 41 Crystal Kay - ['j-pop', 'japanese r&b'] 42 Kana Nishino - ['j-pop', 'j-poprock'] 43 Rhythmic Toy World - ['japanese indie rock'] 44 miwa - ['anime rock', 'j-division', 'j-idol', 'j-pop', 'j-poprock', 'j-rock'] 45 Mili - ['anime', 'anime score', 'otacore'] 46 SHADOWS - ['alternative metal', 'boston metal', 'melodic death metal', 'melodic metalcore', 'melodic thrash', 'metalcore', 'new england metal', 'nu metal'] 47 Hikaru Utada - ['anime', 'classic j-pop', 'j-pop', 'japanese singer-songwriter'] 48 AOA - ['k-pop', 'k-pop girl group'] 49 BRADIO - ['anime latino', 'j-poprock', 'otacore'] 50 BAND-MAID - ['idol rock', 'j-pixie', 'kawaii metal'] 51 Mizuki Ohira - ['japanese r&b'] 52 Bring Me The Horizon - ['melodic metalcore', 'metalcore', 'rock', 'uk metalcore'] 53 MY FIRST STORY - ['anime', 'j-pop', 'j-poprock', 'j-rock', 'japanese post-hardcore'] 54 Paramore - ['candy pop', 'emo', 'pixie', 'pop emo', 'pop punk'] 55 coldrain - ['j-rock', 'japanese post-hardcore', 'metalcore'] 56 Charice - ['dance pop', 'opm', 'post-teen pop', 'viral pop'] 57 MY FIRST STORY - ['anime', 'j-pop', 'j-poprock', 'j-rock', 'japanese post-hardcore'] 58 BIGMAMA - ['j-poprock', 'j-rock', 'japanese alternative rock'] 59 m-flo - ['j-pop', 'japanese r&b', 'shibuya-kei'] 60 Taichi Mukai - ['japanese r&b'] 61 Aimer - ['anime', 'anime rock', 'j-pixie', 'j-pop', 'j-poprock'] 62 Indigo la End - ['j-pop', 'j-poprock', 'j-rock', 'japanese alternative rock', 'japanese indie pop'] 63 Bring Me The Horizon - ['melodic metalcore', 'metalcore', 'rock', 'uk metalcore'] 64 Charice - ['dance pop', 'opm', 'post-teen pop', 'viral pop'] 65 Girl's Day - ['k-pop', 'k-pop girl group'] 66 Berlinist - ['video game music'] 67 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 68 uchuu; - ['j-indie'] 69 Daichi Miura - ['j-pop', 'japanese singer-songwriter', 'okinawan pop'] 70 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 71 WANIMA - ['j-pop', 'j-poprock', 'j-punk', 'j-rock', 'japanese pop punk', 'japanese punk rock'] 72 Kevin Penkin - ['anime score', 'otacore'] 73 Anly - ['j-pixie', 'okinawan pop'] 74 PornoGraffitti - ['anime', 'j-pop', 'j-poprock', 'j-rock'] 75 Sara Bareilles - ['acoustic pop', 'dance pop', 'lilith', 'neo mellow', 'pop', 'pop rock', 'post-teen pop'] 76 Sara Bareilles - ['acoustic pop', 'dance pop', 'lilith', 'neo mellow', 'pop', 'pop rock', 'post-teen pop'] 77 Sara Bareilles - ['acoustic pop', 'dance pop', 'lilith', 'neo mellow', 'pop', 'pop rock', 'post-teen pop'] 78 J-Music Ensemble - [] 79 J-Music Ensemble - [] 80 J-Music Ensemble - [] 81 J-Music Ensemble - [] 82 J-Music Ensemble - [] 83 J-Music Ensemble - [] 84 J-Music Ensemble - [] 85 J-Music Ensemble - [] 86 MY FIRST STORY - ['anime', 'j-pop', 'j-poprock', 'j-rock', 'japanese post-hardcore'] 87 Anly - ['j-pixie', 'okinawan pop'] 88 Nâdiya - ['francoton', 'french pop'] 89 Reol - ['anime rock', 'japanese electropop', 'otacore', 'vocaloid'] 90 BAND-MAID - ['idol rock', 'j-pixie', 'kawaii metal'] 91 Mili - ['anime', 'anime score', 'otacore'] 92 Nâdiya - ['francoton', 'french pop'] 93 BAND-MAID - ['idol rock', 'j-pixie', 'kawaii metal'] 94 Charice - ['dance pop', 'opm', 'post-teen pop', 'viral pop'] 95 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei'] 96 Charice - ['dance pop', 'opm', 'post-teen pop', 'viral pop'] 97 MY FIRST STORY - ['anime', 'j-pop', 'j-poprock', 'j-rock', 'japanese post-hardcore'] 98 miwa - ['anime rock', 'j-division', 'j-idol', 'j-pop', 'j-poprock', 'j-rock'] 99 ONE OK ROCK - ['j-pop', 'j-poprock', 'j-rock', 'japanese emo', 'visual kei']

Environment:

Additional context I am pretty new to programming and especially python so any help would be appreciated.

stephanebruckert commented 3 years ago

@JacksonMHoke what was the solution?