Add tests for the Spotify media browser (#127857)

* Add tests for the Spotify media browser

* Add tests for the Spotify media browser

* Fix

* Fix comment

* Revert "Add tests for the Spotify media browser"

This reverts commit 59de6725d22b9c8797a187f7e2d598375bd372c4.

* Add comment

* Add comment
This commit is contained in:
Joost Lekkerkerker 2024-10-09 13:39:03 +02:00 committed by GitHub
parent d8d000f279
commit c096cc23df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 13513 additions and 7 deletions

View File

@ -73,14 +73,34 @@ def mock_spotify() -> Generator[MagicMock]:
), ),
): ):
client = spotify_mock.return_value client = spotify_mock.return_value
client.current_user_playlists.return_value = load_json_value_fixture( # All these fixtures can be retrieved using the Web API client at
"current_user_playlist.json", DOMAIN # https://developer.spotify.com/documentation/web-api
)
current_user = load_json_value_fixture("current_user.json", DOMAIN) current_user = load_json_value_fixture("current_user.json", DOMAIN)
client.current_user.return_value = current_user client.current_user.return_value = current_user
client.me.return_value = current_user client.me.return_value = current_user
client.current_playback.return_value = load_json_value_fixture( for fixture, method in (
"playback.json", DOMAIN ("current_user_playlist.json", "current_user_playlists"),
) ("playback.json", "current_playback"),
client.playlist.return_value = load_json_value_fixture("playlist.json", DOMAIN) ("followed_artists.json", "current_user_followed_artists"),
("saved_albums.json", "current_user_saved_albums"),
("saved_tracks.json", "current_user_saved_tracks"),
("saved_shows.json", "current_user_saved_shows"),
("recently_played_tracks.json", "current_user_recently_played"),
("top_artists.json", "current_user_top_artists"),
("top_tracks.json", "current_user_top_tracks"),
("featured_playlists.json", "featured_playlists"),
("categories.json", "categories"),
("category_playlists.json", "category_playlists"),
("category.json", "category"),
("new_releases.json", "new_releases"),
("playlist.json", "playlist"),
("album.json", "album"),
("artist.json", "artist"),
("artist_albums.json", "artist_albums"),
("show_episodes.json", "show_episodes"),
("show.json", "show"),
):
getattr(client, method).return_value = load_json_value_fixture(
fixture, DOMAIN
)
yield spotify_mock yield spotify_mock

View File

@ -0,0 +1,128 @@
{
"album_type": "album",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/3jULn43a6xfzqleyeFjPIq"
},
"href": "https://api.spotify.com/v1/artists/3jULn43a6xfzqleyeFjPIq",
"id": "3jULn43a6xfzqleyeFjPIq",
"name": "Area 11",
"type": "artist",
"uri": "spotify:artist:3jULn43a6xfzqleyeFjPIq"
}
],
"available_markets": [],
"copyrights": [
{
"text": "2020 Smihilism Records",
"type": "C"
},
{
"text": "2020 Smihilism Records",
"type": "P"
}
],
"external_ids": {
"upc": "195916707034"
},
"external_urls": {
"spotify": "https://open.spotify.com/album/3IqzqH6ShrRtie9Yd2ODyG"
},
"genres": [],
"href": "https://api.spotify.com/v1/albums/3IqzqH6ShrRtie9Yd2ODyG",
"id": "3IqzqH6ShrRtie9Yd2ODyG",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273a61a28c2f084761f8833bce6",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02a61a28c2f084761f8833bce6",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d00004851a61a28c2f084761f8833bce6",
"width": 64
}
],
"label": "Smihilism Records",
"name": "SINGLARITY",
"popularity": 29,
"release_date": "2020-12-18",
"release_date_precision": "day",
"total_tracks": 11,
"tracks": {
"href": "https://api.spotify.com/v1/albums/3IqzqH6ShrRtie9Yd2ODyG/tracks?offset=0&limit=50&locale=en-US,en;q=0.5",
"items": [
{
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/3jULn43a6xfzqleyeFjPIq"
},
"href": "https://api.spotify.com/v1/artists/3jULn43a6xfzqleyeFjPIq",
"id": "3jULn43a6xfzqleyeFjPIq",
"name": "Area 11",
"type": "artist",
"uri": "spotify:artist:3jULn43a6xfzqleyeFjPIq"
}
],
"available_markets": [],
"disc_number": 1,
"duration_ms": 260372,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/track/6akJGriy4njdP8fZTPGjwz"
},
"href": "https://api.spotify.com/v1/tracks/6akJGriy4njdP8fZTPGjwz",
"id": "6akJGriy4njdP8fZTPGjwz",
"is_local": false,
"name": "All Your Friends",
"preview_url": "https://p.scdn.co/mp3-preview/484344e579edfdb8e8f872d73299aff2c3d0369d?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:6akJGriy4njdP8fZTPGjwz"
},
{
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/3jULn43a6xfzqleyeFjPIq"
},
"href": "https://api.spotify.com/v1/artists/3jULn43a6xfzqleyeFjPIq",
"id": "3jULn43a6xfzqleyeFjPIq",
"name": "Area 11",
"type": "artist",
"uri": "spotify:artist:3jULn43a6xfzqleyeFjPIq"
}
],
"available_markets": [],
"disc_number": 1,
"duration_ms": 206613,
"explicit": true,
"external_urls": {
"spotify": "https://open.spotify.com/track/7N02bJK1amhplZ8yAapRS5"
},
"href": "https://api.spotify.com/v1/tracks/7N02bJK1amhplZ8yAapRS5",
"id": "7N02bJK1amhplZ8yAapRS5",
"is_local": false,
"name": "New Magiks",
"preview_url": "https://p.scdn.co/mp3-preview/b59a5a73ed2e9a61be471822993e91210d5f255a?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 2,
"type": "track",
"uri": "spotify:track:7N02bJK1amhplZ8yAapRS5"
}
],
"limit": 50,
"next": null,
"offset": 0,
"previous": null,
"total": 11
},
"type": "album",
"uri": "spotify:album:3IqzqH6ShrRtie9Yd2ODyG"
}

View File

@ -0,0 +1,33 @@
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg"
},
"followers": {
"href": null,
"total": 10817055
},
"genres": ["dance pop", "miami hip hop", "pop"],
"href": "https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg?locale=en-US%2Cen%3Bq%3D0.5",
"id": "0TnOYISbd1XYRBk9myaseg",
"images": [
{
"url": "https://i.scdn.co/image/ab6761610000e5ebee07b5820dd91d15d397e29c",
"height": 640,
"width": 640
},
{
"url": "https://i.scdn.co/image/ab67616100005174ee07b5820dd91d15d397e29c",
"height": 320,
"width": 320
},
{
"url": "https://i.scdn.co/image/ab6761610000f178ee07b5820dd91d15d397e29c",
"height": 160,
"width": 160
}
],
"name": "Pitbull",
"popularity": 85,
"type": "artist",
"uri": "spotify:artist:0TnOYISbd1XYRBk9myaseg"
}

View File

@ -0,0 +1,472 @@
{
"href": "https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg/albums?offset=0&limit=20&locale=en-US,en;q%3D0.5&include_groups=album,single,compilation,appears_on",
"limit": 20,
"next": "https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg/albums?offset=20&limit=20&locale=en-US,en;q%3D0.5&include_groups=album,single,compilation,appears_on",
"offset": 0,
"previous": null,
"total": 903,
"items": [
{
"album_type": "album",
"total_tracks": 7,
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/56jg3KJcYmfL7RzYmG2O1Q"
},
"href": "https://api.spotify.com/v1/albums/56jg3KJcYmfL7RzYmG2O1Q",
"id": "56jg3KJcYmfL7RzYmG2O1Q",
"images": [
{
"url": "https://i.scdn.co/image/ab67616d0000b273a0bac1996f26274685db1520",
"height": 640,
"width": 640
},
{
"url": "https://i.scdn.co/image/ab67616d00001e02a0bac1996f26274685db1520",
"height": 300,
"width": 300
},
{
"url": "https://i.scdn.co/image/ab67616d00004851a0bac1996f26274685db1520",
"height": 64,
"width": 64
}
],
"name": "Trackhouse (Daytona 500 Edition)",
"release_date": "2024-02-16",
"release_date_precision": "day",
"type": "album",
"uri": "spotify:album:56jg3KJcYmfL7RzYmG2O1Q",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg"
},
"href": "https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg",
"id": "0TnOYISbd1XYRBk9myaseg",
"name": "Pitbull",
"type": "artist",
"uri": "spotify:artist:0TnOYISbd1XYRBk9myaseg"
}
],
"album_group": "album"
},
{
"album_type": "album",
"total_tracks": 14,
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/1l86t4bTNT2j1X0ZBCIv6R"
},
"href": "https://api.spotify.com/v1/albums/1l86t4bTNT2j1X0ZBCIv6R",
"id": "1l86t4bTNT2j1X0ZBCIv6R",
"images": [
{
"url": "https://i.scdn.co/image/ab67616d0000b27333a4ba8f73271a749c5d953d",
"height": 640,
"width": 640
},
{
"url": "https://i.scdn.co/image/ab67616d00001e0233a4ba8f73271a749c5d953d",
"height": 300,
"width": 300
},
{
"url": "https://i.scdn.co/image/ab67616d0000485133a4ba8f73271a749c5d953d",
"height": 64,
"width": 64
}
],
"name": "Trackhouse",
"release_date": "2023-10-06",
"release_date_precision": "day",
"type": "album",
"uri": "spotify:album:1l86t4bTNT2j1X0ZBCIv6R",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg"
},
"href": "https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg",
"id": "0TnOYISbd1XYRBk9myaseg",
"name": "Pitbull",
"type": "artist",
"uri": "spotify:artist:0TnOYISbd1XYRBk9myaseg"
}
],
"album_group": "album"
}
]
}

View File

@ -0,0 +1,36 @@
{
"categories": {
"href": "https://api.spotify.com/v1/browse/categories?offset=0&limit=20&locale=en-US,en;q%3D0.5",
"items": [
{
"href": "https://api.spotify.com/v1/browse/categories/0JQ5DAt0tbjZptfcdMSKl3",
"id": "0JQ5DAt0tbjZptfcdMSKl3",
"icons": [
{
"height": 274,
"url": "https://t.scdn.co/images/728ed47fc1674feb95f7ac20236eb6d7.jpeg",
"width": 274
}
],
"name": "Made For You"
},
{
"href": "https://api.spotify.com/v1/browse/categories/0JQ5DAqbMKFz6FAsUtgAab",
"id": "0JQ5DAqbMKFz6FAsUtgAab",
"icons": [
{
"height": 274,
"url": "https://t.scdn.co/images/728ed47fc1674feb95f7ac20236eb6d7.jpeg",
"width": 274
}
],
"name": "New Releases"
}
],
"limit": 20,
"next": "https://api.spotify.com/v1/browse/categories?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"offset": 0,
"previous": null,
"total": 56
}
}

View File

@ -0,0 +1,12 @@
{
"href": "https://api.spotify.com/v1/browse/categories/0JQ5DAqbMKFRY5ok2pxXJ0",
"id": "0JQ5DAqbMKFRY5ok2pxXJ0",
"icons": [
{
"height": 274,
"url": "https://t.scdn.co/media/original/dinner_1b6506abba0ba52c54e6d695c8571078_274x274.jpg",
"width": 274
}
],
"name": "Cooking & Dining"
}

View File

@ -0,0 +1,84 @@
{
"playlists": {
"href": "https://api.spotify.com/v1/browse/categories/0JQ5DAqbMKFRY5ok2pxXJ0/playlists?country=NL&offset=0&limit=20",
"items": [
{
"collaborative": false,
"description": "Lekker eten en lang natafelen? Daar hoort muziek bij.",
"external_urls": {
"spotify": "https://open.spotify.com/playlist/37i9dQZF1DX7yhuKT9G4qk"
},
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DX7yhuKT9G4qk",
"id": "37i9dQZF1DX7yhuKT9G4qk",
"images": [
{
"height": null,
"url": "https://i.scdn.co/image/ab67706f0000000343319faa9428405f3312b588",
"width": null
}
],
"name": "eten met vrienden",
"owner": {
"display_name": "Spotify",
"external_urls": {
"spotify": "https://open.spotify.com/user/spotify"
},
"href": "https://api.spotify.com/v1/users/spotify",
"id": "spotify",
"type": "user",
"uri": "spotify:user:spotify"
},
"primary_color": null,
"public": null,
"snapshot_id": "MTcwMTY5Njk3NywwMDAwMDAwMDkyY2JjZDA1MjA2YTBmNzMxMmFlNGI0YzRhMjg0ZWZl",
"tracks": {
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DX7yhuKT9G4qk/tracks",
"total": 313
},
"type": "playlist",
"uri": "spotify:playlist:37i9dQZF1DX7yhuKT9G4qk"
},
{
"collaborative": false,
"description": "From new retro to classic country blues, honky tonk, rockabilly, and more.",
"external_urls": {
"spotify": "https://open.spotify.com/playlist/37i9dQZF1DXbvE0SE0Cczh"
},
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DXbvE0SE0Cczh",
"id": "37i9dQZF1DXbvE0SE0Cczh",
"images": [
{
"height": null,
"url": "https://i.scdn.co/image/ab67706f00000003b93c270883619dde61725fc8",
"width": null
}
],
"name": "Jukebox Joint",
"owner": {
"display_name": "Spotify",
"external_urls": {
"spotify": "https://open.spotify.com/user/spotify"
},
"href": "https://api.spotify.com/v1/users/spotify",
"id": "spotify",
"type": "user",
"uri": "spotify:user:spotify"
},
"primary_color": null,
"public": null,
"snapshot_id": "MTY4NjkxODgwMiwwMDAwMDAwMGUwNWRkNjY5N2UzM2Q4NzI4NzRiZmNhMGVmMzAyZTA5",
"tracks": {
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DXbvE0SE0Cczh/tracks",
"total": 60
},
"type": "playlist",
"uri": "spotify:playlist:37i9dQZF1DXbvE0SE0Cczh"
}
],
"limit": 20,
"next": "https://api.spotify.com/v1/browse/categories/0JQ5DAqbMKFRY5ok2pxXJ0/playlists?country=NL&offset=20&limit=20",
"offset": 0,
"previous": null,
"total": 46
}
}

View File

@ -0,0 +1,85 @@
{
"message": "Popular Playlists",
"playlists": {
"href": "https://api.spotify.com/v1/browse/featured-playlists?country=NL&timestamp=2023-12-18T18%3A35%3A35&offset=0&limit=20",
"items": [
{
"collaborative": false,
"description": "De ideale playlist voor het fijne kerstgevoel bij de boom!",
"external_urls": {
"spotify": "https://open.spotify.com/playlist/37i9dQZF1DX4dopZ9vOp1t"
},
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DX4dopZ9vOp1t",
"id": "37i9dQZF1DX4dopZ9vOp1t",
"images": [
{
"height": null,
"url": "https://i.scdn.co/image/ab67706f000000037d14c267b8ee5fea2246a8fe",
"width": null
}
],
"name": "Kerst Hits 2023",
"owner": {
"display_name": "Spotify",
"external_urls": {
"spotify": "https://open.spotify.com/user/spotify"
},
"href": "https://api.spotify.com/v1/users/spotify",
"id": "spotify",
"type": "user",
"uri": "spotify:user:spotify"
},
"primary_color": null,
"public": null,
"snapshot_id": "MTcwMjU2ODI4MSwwMDAwMDAwMDE1ZGRiNzI3OGY4OGU2MzA1MWNkZGMyNTdmNDUwMTc1",
"tracks": {
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DX4dopZ9vOp1t/tracks",
"total": 298
},
"type": "playlist",
"uri": "spotify:playlist:37i9dQZF1DX4dopZ9vOp1t"
},
{
"collaborative": false,
"description": "De 50 populairste hits van Nederland. Cover: Jack Harlow",
"external_urls": {
"spotify": "https://open.spotify.com/playlist/37i9dQZF1DWSBi5svWQ9Nk"
},
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DWSBi5svWQ9Nk",
"id": "37i9dQZF1DWSBi5svWQ9Nk",
"images": [
{
"height": null,
"url": "https://i.scdn.co/image/ab67706f00000003f7b99051789611a49101c1cf",
"width": null
}
],
"name": "Top Hits NL",
"owner": {
"display_name": "Spotify",
"external_urls": {
"spotify": "https://open.spotify.com/user/spotify"
},
"href": "https://api.spotify.com/v1/users/spotify",
"id": "spotify",
"type": "user",
"uri": "spotify:user:spotify"
},
"primary_color": null,
"public": null,
"snapshot_id": "MTcwMjU5NDgwMCwwMDAwMDAwMDU4NWY2MTE4NmU4NmIwMDdlMGE4ZGRkOTZkN2U2MzAx",
"tracks": {
"href": "https://api.spotify.com/v1/playlists/37i9dQZF1DWSBi5svWQ9Nk/tracks",
"total": 50
},
"type": "playlist",
"uri": "spotify:playlist:37i9dQZF1DWSBi5svWQ9Nk"
}
],
"limit": 20,
"next": "https://api.spotify.com/v1/browse/featured-playlists?country=NL&timestamp=2023-12-18T18%3A35%3A35&offset=20&limit=20",
"offset": 0,
"previous": null,
"total": 24
}
}

View File

@ -0,0 +1,87 @@
{
"artists": {
"items": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0lLY20XpZ9yDobkbHI7u1y"
},
"followers": {
"href": null,
"total": 349437
},
"genres": [
"brostep",
"complextro",
"danish electronic",
"edm",
"electro house",
"glitch",
"speedrun"
],
"href": "https://api.spotify.com/v1/artists/0lLY20XpZ9yDobkbHI7u1y",
"id": "0lLY20XpZ9yDobkbHI7u1y",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6761610000e5eb0fb1220e7e3ace47ebad023e",
"width": 640
},
{
"height": 320,
"url": "https://i.scdn.co/image/ab676161000051740fb1220e7e3ace47ebad023e",
"width": 320
},
{
"height": 160,
"url": "https://i.scdn.co/image/ab6761610000f1780fb1220e7e3ace47ebad023e",
"width": 160
}
],
"name": "Pegboard Nerds",
"popularity": 52,
"type": "artist",
"uri": "spotify:artist:0lLY20XpZ9yDobkbHI7u1y"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0p4nmQO2msCgU4IF37Wi3j"
},
"followers": {
"href": null,
"total": 11296082
},
"genres": ["canadian pop", "candy pop", "dance pop", "pop"],
"href": "https://api.spotify.com/v1/artists/0p4nmQO2msCgU4IF37Wi3j",
"id": "0p4nmQO2msCgU4IF37Wi3j",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6761610000e5eb5c3349ddba6b8e064c1bab16",
"width": 640
},
{
"height": 320,
"url": "https://i.scdn.co/image/ab676161000051745c3349ddba6b8e064c1bab16",
"width": 320
},
{
"height": 160,
"url": "https://i.scdn.co/image/ab6761610000f1785c3349ddba6b8e064c1bab16",
"width": 160
}
],
"name": "Avril Lavigne",
"popularity": 78,
"type": "artist",
"uri": "spotify:artist:0p4nmQO2msCgU4IF37Wi3j"
}
],
"next": "https://api.spotify.com/v1/me/following?type=artist&limit=20&locale=en-US,en;q=0.5&after=2NZMqINcyfepvLxQJdzcZk",
"total": 74,
"cursors": {
"after": "2NZMqINcyfepvLxQJdzcZk"
},
"limit": 20,
"href": "https://api.spotify.com/v1/me/following?type=artist&limit=20&locale=en-US,en;q=0.5"
}
}

View File

@ -0,0 +1,469 @@
{
"albums": {
"href": "https://api.spotify.com/v1/browse/new-releases?offset=0&limit=20&locale=en-US,en;q%3D0.5",
"items": [
{
"album_type": "album",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4gzpq5DPGxSnKTe4SA8HAU"
},
"href": "https://api.spotify.com/v1/artists/4gzpq5DPGxSnKTe4SA8HAU",
"id": "4gzpq5DPGxSnKTe4SA8HAU",
"name": "Coldplay",
"type": "artist",
"uri": "spotify:artist:4gzpq5DPGxSnKTe4SA8HAU"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/5SGtrmYbIo0Dsg4kJ4qjM6"
},
"href": "https://api.spotify.com/v1/albums/5SGtrmYbIo0Dsg4kJ4qjM6",
"id": "5SGtrmYbIo0Dsg4kJ4qjM6",
"images": [
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e0209ba52a5116e0c3e8461f58b",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d0000485109ba52a5116e0c3e8461f58b",
"width": 64
},
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b27309ba52a5116e0c3e8461f58b",
"width": 640
}
],
"name": "Moon Music",
"release_date": "2024-10-04",
"release_date_precision": "day",
"total_tracks": 10,
"type": "album",
"uri": "spotify:album:5SGtrmYbIo0Dsg4kJ4qjM6"
},
{
"album_type": "album",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4U9nsRTH2mr9L4UXEWqG5e"
},
"href": "https://api.spotify.com/v1/artists/4U9nsRTH2mr9L4UXEWqG5e",
"id": "4U9nsRTH2mr9L4UXEWqG5e",
"name": "Bente",
"type": "artist",
"uri": "spotify:artist:4U9nsRTH2mr9L4UXEWqG5e"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/713lZ7AF55fEFSQgcttj9y"
},
"href": "https://api.spotify.com/v1/albums/713lZ7AF55fEFSQgcttj9y",
"id": "713lZ7AF55fEFSQgcttj9y",
"images": [
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02ab9953b1d18f8233f6b26027",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d00004851ab9953b1d18f8233f6b26027",
"width": 64
},
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273ab9953b1d18f8233f6b26027",
"width": 640
}
],
"name": "drift",
"release_date": "2024-10-03",
"release_date_precision": "day",
"total_tracks": 14,
"type": "album",
"uri": "spotify:album:713lZ7AF55fEFSQgcttj9y"
}
],
"limit": 20,
"next": "https://api.spotify.com/v1/browse/new-releases?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"offset": 0,
"previous": null,
"total": 100
}
}

View File

@ -0,0 +1,964 @@
{
"items": [
{
"track": {
"album": {
"album_type": "single",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6emHCSoB4tJxTVXakbrpPz"
},
"href": "https://api.spotify.com/v1/artists/6emHCSoB4tJxTVXakbrpPz",
"id": "6emHCSoB4tJxTVXakbrpPz",
"name": "Karen O",
"type": "artist",
"uri": "spotify:artist:6emHCSoB4tJxTVXakbrpPz"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/2dBj3prW7gP9bCCOIQeDUf"
},
"href": "https://api.spotify.com/v1/artists/2dBj3prW7gP9bCCOIQeDUf",
"id": "2dBj3prW7gP9bCCOIQeDUf",
"name": "Danger Mouse",
"type": "artist",
"uri": "spotify:artist:2dBj3prW7gP9bCCOIQeDUf"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/6Ab1VSoMD5fvlagOW2QDOJ"
},
"href": "https://api.spotify.com/v1/albums/6Ab1VSoMD5fvlagOW2QDOJ",
"id": "6Ab1VSoMD5fvlagOW2QDOJ",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273cdac047e7894fb56a0dfdcde",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02cdac047e7894fb56a0dfdcde",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d00004851cdac047e7894fb56a0dfdcde",
"width": 64
}
],
"name": "Super Breath",
"release_date": "2024-07-24",
"release_date_precision": "day",
"total_tracks": 1,
"type": "album",
"uri": "spotify:album:6Ab1VSoMD5fvlagOW2QDOJ"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6emHCSoB4tJxTVXakbrpPz"
},
"href": "https://api.spotify.com/v1/artists/6emHCSoB4tJxTVXakbrpPz",
"id": "6emHCSoB4tJxTVXakbrpPz",
"name": "Karen O",
"type": "artist",
"uri": "spotify:artist:6emHCSoB4tJxTVXakbrpPz"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/2dBj3prW7gP9bCCOIQeDUf"
},
"href": "https://api.spotify.com/v1/artists/2dBj3prW7gP9bCCOIQeDUf",
"id": "2dBj3prW7gP9bCCOIQeDUf",
"name": "Danger Mouse",
"type": "artist",
"uri": "spotify:artist:2dBj3prW7gP9bCCOIQeDUf"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 211800,
"explicit": false,
"external_ids": {
"isrc": "QMB622409101"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/71dMjqJ8UJV700zYs5YZCh"
},
"href": "https://api.spotify.com/v1/tracks/71dMjqJ8UJV700zYs5YZCh",
"id": "71dMjqJ8UJV700zYs5YZCh",
"is_local": false,
"name": "Super Breath",
"popularity": 58,
"preview_url": "https://p.scdn.co/mp3-preview/f1ee3ade75c6eb5cb227ed8c96de8674d8ce581f?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:71dMjqJ8UJV700zYs5YZCh"
},
"played_at": "2024-10-06T18:09:18.556Z",
"context": null
},
{
"track": {
"album": {
"album_type": "single",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6emHCSoB4tJxTVXakbrpPz"
},
"href": "https://api.spotify.com/v1/artists/6emHCSoB4tJxTVXakbrpPz",
"id": "6emHCSoB4tJxTVXakbrpPz",
"name": "Karen O",
"type": "artist",
"uri": "spotify:artist:6emHCSoB4tJxTVXakbrpPz"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/2dBj3prW7gP9bCCOIQeDUf"
},
"href": "https://api.spotify.com/v1/artists/2dBj3prW7gP9bCCOIQeDUf",
"id": "2dBj3prW7gP9bCCOIQeDUf",
"name": "Danger Mouse",
"type": "artist",
"uri": "spotify:artist:2dBj3prW7gP9bCCOIQeDUf"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/6Ab1VSoMD5fvlagOW2QDOJ"
},
"href": "https://api.spotify.com/v1/albums/6Ab1VSoMD5fvlagOW2QDOJ",
"id": "6Ab1VSoMD5fvlagOW2QDOJ",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273cdac047e7894fb56a0dfdcde",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02cdac047e7894fb56a0dfdcde",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d00004851cdac047e7894fb56a0dfdcde",
"width": 64
}
],
"name": "Super Breath",
"release_date": "2024-07-24",
"release_date_precision": "day",
"total_tracks": 1,
"type": "album",
"uri": "spotify:album:6Ab1VSoMD5fvlagOW2QDOJ"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6emHCSoB4tJxTVXakbrpPz"
},
"href": "https://api.spotify.com/v1/artists/6emHCSoB4tJxTVXakbrpPz",
"id": "6emHCSoB4tJxTVXakbrpPz",
"name": "Karen O",
"type": "artist",
"uri": "spotify:artist:6emHCSoB4tJxTVXakbrpPz"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/2dBj3prW7gP9bCCOIQeDUf"
},
"href": "https://api.spotify.com/v1/artists/2dBj3prW7gP9bCCOIQeDUf",
"id": "2dBj3prW7gP9bCCOIQeDUf",
"name": "Danger Mouse",
"type": "artist",
"uri": "spotify:artist:2dBj3prW7gP9bCCOIQeDUf"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 211800,
"explicit": false,
"external_ids": {
"isrc": "QMB622409101"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/71dMjqJ8UJV700zYs5YZCh"
},
"href": "https://api.spotify.com/v1/tracks/71dMjqJ8UJV700zYs5YZCh",
"id": "71dMjqJ8UJV700zYs5YZCh",
"is_local": false,
"name": "Super Breath",
"popularity": 58,
"preview_url": "https://p.scdn.co/mp3-preview/f1ee3ade75c6eb5cb227ed8c96de8674d8ce581f?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:71dMjqJ8UJV700zYs5YZCh"
},
"played_at": "2024-10-06T18:05:33.902Z",
"context": {
"type": "album",
"href": "https://api.spotify.com/v1/albums/57MSBg5pBQZH5bfLVDmeuP",
"external_urls": {
"spotify": "https://open.spotify.com/album/57MSBg5pBQZH5bfLVDmeuP"
},
"uri": "spotify:album:57MSBg5pBQZH5bfLVDmeuP"
}
}
],
"next": "https://api.spotify.com/v1/me/player/recently-played?before=1728234176022",
"cursors": {
"after": "1728238158556",
"before": "1728234176022"
},
"limit": 20,
"href": "https://api.spotify.com/v1/me/player/recently-played"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,462 @@
{
"href": "https://api.spotify.com/v1/me/shows?offset=0&limit=20&locale=en-US,en;q%3D0.5",
"items": [
{
"added_at": "2023-08-10T08:17:09Z",
"show": {
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"copyrights": [],
"description": "Well all giggle along at naughty jokes, your dating horror stories and give questionable recommendations on movies, food and relationships. This podcast is hot, fun garbage and we (Toni Lodge and Ryan Jon here in Melbourne, Australia) would love you to climb aboard and be our friends. Hosted on Acast. See acast.com/privacy for more information.",
"explicit": true,
"external_urls": {
"spotify": "https://open.spotify.com/show/5OzkclFjD6iAjtAuo7aIYt"
},
"href": "https://api.spotify.com/v1/shows/5OzkclFjD6iAjtAuo7aIYt",
"html_description": "Well all giggle along at naughty jokes, your dating horror stories and give questionable recommendations on movies, food and relationships. This podcast is hot, fun garbage and we (Toni Lodge and Ryan Jon here in Melbourne, Australia) would love you to climb aboard and be our friends.<br /><p> Hosted on Acast. See <a href=\"https://acast.com/privacy\" rel=\"nofollow\">acast.com/privacy</a> for more information.</p>",
"id": "5OzkclFjD6iAjtAuo7aIYt",
"images": [
{
"height": 64,
"url": "https://i.scdn.co/image/ab6765630000f68db5f65a943ef4f707bf79949b",
"width": 64
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67656300005f1fb5f65a943ef4f707bf79949b",
"width": 300
},
{
"height": 640,
"url": "https://i.scdn.co/image/ab6765630000ba8ab5f65a943ef4f707bf79949b",
"width": 640
}
],
"is_externally_hosted": false,
"languages": ["en"],
"media_type": "audio",
"name": "Toni and Ryan",
"publisher": "Toni Lodge and Ryan Jon",
"total_episodes": 741,
"type": "show",
"uri": "spotify:show:5OzkclFjD6iAjtAuo7aIYt"
}
},
{
"added_at": "2022-09-15T23:48:23Z",
"show": {
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"copyrights": [],
"description": "Welcome to BLAST Push To Talk, Counter-Strike like youve never heard it before.Join our host Moses and our field reporters Scrawny and Launders as they interview pro players, share their hot takes on the latest and greatest news in the CS world courtesy of EPOS.",
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/show/6XYRres0KZtnTqKcLavWR2"
},
"href": "https://api.spotify.com/v1/shows/6XYRres0KZtnTqKcLavWR2",
"html_description": "Welcome to BLAST Push To Talk, Counter-Strike like youve never heard it before.<br /><br />Join our host Moses and our field reporters Scrawny and Launders as they interview pro players, share their hot takes on the latest and greatest news in the CS world courtesy of EPOS.",
"id": "6XYRres0KZtnTqKcLavWR2",
"images": [
{
"height": 64,
"url": "https://i.scdn.co/image/ab6765630000f68d5fccb05c5685c081d5c2ad9c",
"width": 64
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67656300005f1f5fccb05c5685c081d5c2ad9c",
"width": 300
},
{
"height": 640,
"url": "https://i.scdn.co/image/ab6765630000ba8a5fccb05c5685c081d5c2ad9c",
"width": 640
}
],
"is_externally_hosted": false,
"languages": ["en"],
"media_type": "audio",
"name": "BLAST Push To Talk",
"publisher": "BLAST Premier",
"total_episodes": 19,
"type": "show",
"uri": "spotify:show:6XYRres0KZtnTqKcLavWR2"
}
}
],
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total": 10
}

View File

@ -0,0 +1,978 @@
{
"href": "https://api.spotify.com/v1/me/tracks?offset=0&limit=20&locale=en-US,en;q%3D0.5",
"items": [
{
"added_at": "2024-10-06T11:35:02Z",
"track": {
"album": {
"album_type": "single",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/7zrkALJ9ayRjzysp4QYoEg"
},
"href": "https://api.spotify.com/v1/artists/7zrkALJ9ayRjzysp4QYoEg",
"id": "7zrkALJ9ayRjzysp4QYoEg",
"name": "Maribou State",
"type": "artist",
"uri": "spotify:artist:7zrkALJ9ayRjzysp4QYoEg"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/5vssQp6TyMHsx4mihKVAsC"
},
"href": "https://api.spotify.com/v1/artists/5vssQp6TyMHsx4mihKVAsC",
"id": "5vssQp6TyMHsx4mihKVAsC",
"name": "Holly Walker",
"type": "artist",
"uri": "spotify:artist:5vssQp6TyMHsx4mihKVAsC"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/3BYf1IG8EqDbhzdpljcFWY"
},
"href": "https://api.spotify.com/v1/albums/3BYf1IG8EqDbhzdpljcFWY",
"id": "3BYf1IG8EqDbhzdpljcFWY",
"images": [
{
"height": 640,
"width": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273ac9dd449e38e5e8952fd22ad"
},
{
"height": 300,
"width": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02ac9dd449e38e5e8952fd22ad"
},
{
"height": 64,
"width": 64,
"url": "https://i.scdn.co/image/ab67616d00004851ac9dd449e38e5e8952fd22ad"
}
],
"is_playable": true,
"name": "Otherside",
"release_date": "2024-10-02",
"release_date_precision": "day",
"total_tracks": 2,
"type": "album",
"uri": "spotify:album:3BYf1IG8EqDbhzdpljcFWY"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/7zrkALJ9ayRjzysp4QYoEg"
},
"href": "https://api.spotify.com/v1/artists/7zrkALJ9ayRjzysp4QYoEg",
"id": "7zrkALJ9ayRjzysp4QYoEg",
"name": "Maribou State",
"type": "artist",
"uri": "spotify:artist:7zrkALJ9ayRjzysp4QYoEg"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/5vssQp6TyMHsx4mihKVAsC"
},
"href": "https://api.spotify.com/v1/artists/5vssQp6TyMHsx4mihKVAsC",
"id": "5vssQp6TyMHsx4mihKVAsC",
"name": "Holly Walker",
"type": "artist",
"uri": "spotify:artist:5vssQp6TyMHsx4mihKVAsC"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 233211,
"explicit": false,
"external_ids": {
"isrc": "GBCFB2300767"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/2pj2A25YQK4uMxhZheNx7R"
},
"href": "https://api.spotify.com/v1/tracks/2pj2A25YQK4uMxhZheNx7R",
"id": "2pj2A25YQK4uMxhZheNx7R",
"is_local": false,
"is_playable": true,
"name": "Otherside",
"popularity": 47,
"preview_url": "https://p.scdn.co/mp3-preview/f18011c5d9a973f85ed8dce6d698e6043efdcf60?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:2pj2A25YQK4uMxhZheNx7R"
}
},
{
"added_at": "2024-10-06T07:37:53Z",
"track": {
"album": {
"album_type": "single",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0HHa7ZJZxUQlg5l2mB0N0f"
},
"href": "https://api.spotify.com/v1/artists/0HHa7ZJZxUQlg5l2mB0N0f",
"id": "0HHa7ZJZxUQlg5l2mB0N0f",
"name": "Marlon Hoffstadt",
"type": "artist",
"uri": "spotify:artist:0HHa7ZJZxUQlg5l2mB0N0f"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/68sTQgQtPe9e4Bb7OtoqET"
},
"href": "https://api.spotify.com/v1/artists/68sTQgQtPe9e4Bb7OtoqET",
"id": "68sTQgQtPe9e4Bb7OtoqET",
"name": "Crybaby",
"type": "artist",
"uri": "spotify:artist:68sTQgQtPe9e4Bb7OtoqET"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4lBSzo2LS8asEzoePv6VLM"
},
"href": "https://api.spotify.com/v1/artists/4lBSzo2LS8asEzoePv6VLM",
"id": "4lBSzo2LS8asEzoePv6VLM",
"name": "DJ Daddy Trance",
"type": "artist",
"uri": "spotify:artist:4lBSzo2LS8asEzoePv6VLM"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/1ElP3WFqq5sgMcc3ScIR4l"
},
"href": "https://api.spotify.com/v1/albums/1ElP3WFqq5sgMcc3ScIR4l",
"id": "1ElP3WFqq5sgMcc3ScIR4l",
"images": [
{
"height": 640,
"width": 640,
"url": "https://i.scdn.co/image/ab67616d0000b2733d710ab088ff797e80cc5aed"
},
{
"height": 300,
"width": 300,
"url": "https://i.scdn.co/image/ab67616d00001e023d710ab088ff797e80cc5aed"
},
{
"height": 64,
"width": 64,
"url": "https://i.scdn.co/image/ab67616d000048513d710ab088ff797e80cc5aed"
}
],
"is_playable": true,
"name": "I Think I Need A DJ",
"release_date": "2024-09-20",
"release_date_precision": "day",
"total_tracks": 1,
"type": "album",
"uri": "spotify:album:1ElP3WFqq5sgMcc3ScIR4l"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0HHa7ZJZxUQlg5l2mB0N0f"
},
"href": "https://api.spotify.com/v1/artists/0HHa7ZJZxUQlg5l2mB0N0f",
"id": "0HHa7ZJZxUQlg5l2mB0N0f",
"name": "Marlon Hoffstadt",
"type": "artist",
"uri": "spotify:artist:0HHa7ZJZxUQlg5l2mB0N0f"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/68sTQgQtPe9e4Bb7OtoqET"
},
"href": "https://api.spotify.com/v1/artists/68sTQgQtPe9e4Bb7OtoqET",
"id": "68sTQgQtPe9e4Bb7OtoqET",
"name": "Crybaby",
"type": "artist",
"uri": "spotify:artist:68sTQgQtPe9e4Bb7OtoqET"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4lBSzo2LS8asEzoePv6VLM"
},
"href": "https://api.spotify.com/v1/artists/4lBSzo2LS8asEzoePv6VLM",
"id": "4lBSzo2LS8asEzoePv6VLM",
"name": "DJ Daddy Trance",
"type": "artist",
"uri": "spotify:artist:4lBSzo2LS8asEzoePv6VLM"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 155000,
"explicit": false,
"external_ids": {
"isrc": "DEKF22400978"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/2lKOI1nwP5qZtZC7TGQVY8"
},
"href": "https://api.spotify.com/v1/tracks/2lKOI1nwP5qZtZC7TGQVY8",
"id": "2lKOI1nwP5qZtZC7TGQVY8",
"is_local": false,
"is_playable": true,
"name": "I Think I Need A DJ",
"popularity": 53,
"preview_url": "https://p.scdn.co/mp3-preview/ad1c9d47d0f5ed500118e9dfc2558bd77612cae3?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:2lKOI1nwP5qZtZC7TGQVY8"
}
}
],
"limit": 2,
"next": "https://api.spotify.com/v1/me/tracks?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"offset": 0,
"previous": null,
"total": 4816
}

View File

@ -0,0 +1,317 @@
{
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"BY",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"copyrights": [],
"description": "Safety Third is a weekly show hosted by William Osman, NileRed, The Backyard Scientist, Allen Pan, and a couple other YouTube \"Scientists\". Sometimes we have guests, sometimes it's just us, but always: safety is our number three priority.",
"html_description": "<p>Safety Third is a weekly show hosted by William Osman, NileRed, The Backyard Scientist, Allen Pan, and a couple other YouTube &#34;Scientists&#34;. Sometimes we have guests, sometimes it&#39;s just us, but always: safety is our number three priority.</p>",
"explicit": true,
"external_urls": {
"spotify": "https://open.spotify.com/show/1Y9ExMgMxoBVrgrfU7u0nD"
},
"href": "https://api.spotify.com/v1/shows/1Y9ExMgMxoBVrgrfU7u0nD?locale=en-US%2Cen%3Bq%3D0.5",
"id": "1Y9ExMgMxoBVrgrfU7u0nD",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6765630000ba8ac7bedd27a4413b1abf926d8a",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67656300005f1fc7bedd27a4413b1abf926d8a",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab6765630000f68dc7bedd27a4413b1abf926d8a",
"width": 64
}
],
"is_externally_hosted": false,
"languages": ["en-US"],
"media_type": "audio",
"name": "Safety Third",
"publisher": "Safety Third ",
"type": "show",
"uri": "spotify:show:1Y9ExMgMxoBVrgrfU7u0nD",
"total_episodes": 120,
"episodes": {
"href": "https://api.spotify.com/v1/shows/1Y9ExMgMxoBVrgrfU7u0nD/episodes?offset=0&limit=50&locale=en-US,en;q%3D0.5",
"limit": 50,
"next": "https://api.spotify.com/v1/shows/1Y9ExMgMxoBVrgrfU7u0nD/episodes?offset=50&limit=50&locale=en-US,en;q%3D0.5",
"offset": 0,
"previous": null,
"total": 120,
"items": [
{
"audio_preview_url": "https://podz-content.spotifycdn.com/audio/clips/06lRxUmh8UNVTByuyxLYqh/clip_132296_192296.mp3",
"description": "Patreon: https://www.patreon.com/safetythirdMerch: https://safetythird.shopYouTube: https://www.youtube.com/@safetythird/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy",
"html_description": "<p>Patreon: https://www.patreon.com/safetythird</p><p>Merch: https://safetythird.shop</p><p>YouTube: https://www.youtube.com/&#64;safetythird/</p><br /><br />Advertising Inquiries: <a href=\"https://redcircle.com/brands\" rel=\"nofollow\">https://redcircle.com/brands</a><br /><br />Privacy &amp; Opt-Out: <a href=\"https://redcircle.com/privacy\" rel=\"nofollow\">https://redcircle.com/privacy</a>",
"duration_ms": 3690161,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/episode/3o0RYoo5iOMKSmEbunsbvW"
},
"href": "https://api.spotify.com/v1/episodes/3o0RYoo5iOMKSmEbunsbvW",
"id": "3o0RYoo5iOMKSmEbunsbvW",
"images": [
{
"url": "https://i.scdn.co/image/ab6765630000ba8ac7bedd27a4413b1abf926d8a",
"height": 640,
"width": 640
},
{
"url": "https://i.scdn.co/image/ab67656300005f1fc7bedd27a4413b1abf926d8a",
"height": 300,
"width": 300
},
{
"url": "https://i.scdn.co/image/ab6765630000f68dc7bedd27a4413b1abf926d8a",
"height": 64,
"width": 64
}
],
"is_externally_hosted": true,
"is_playable": true,
"language": "en-US",
"languages": ["en-US"],
"name": "My Squirrel Has Brain Damage - Safety Third 119",
"release_date": "2024-07-26",
"release_date_precision": "day",
"resume_point": {
"fully_played": false,
"resume_position_ms": 0
},
"type": "episode",
"uri": "spotify:episode:3o0RYoo5iOMKSmEbunsbvW"
},
{
"audio_preview_url": "https://podz-content.spotifycdn.com/audio/clips/6msRFio3561me28DofTad7/clip_570865_630865.mp3",
"description": "Patreon: https://www.patreon.com/safetythirdMerch: https://safetythird.shopYouTube: https://www.youtube.com/@safetythird/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy",
"html_description": "<p>Patreon: https://www.patreon.com/safetythird</p><p>Merch: https://safetythird.shop</p><p>YouTube: https://www.youtube.com/&#64;safetythird/</p><br /><br />Advertising Inquiries: <a href=\"https://redcircle.com/brands\" rel=\"nofollow\">https://redcircle.com/brands</a><br /><br />Privacy &amp; Opt-Out: <a href=\"https://redcircle.com/privacy\" rel=\"nofollow\">https://redcircle.com/privacy</a>",
"duration_ms": 5690591,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/episode/7CbsFHQq8ljztiUSGw46Fj"
},
"href": "https://api.spotify.com/v1/episodes/7CbsFHQq8ljztiUSGw46Fj",
"id": "7CbsFHQq8ljztiUSGw46Fj",
"images": [
{
"url": "https://i.scdn.co/image/ab6765630000ba8ac7bedd27a4413b1abf926d8a",
"height": 640,
"width": 640
},
{
"url": "https://i.scdn.co/image/ab67656300005f1fc7bedd27a4413b1abf926d8a",
"height": 300,
"width": 300
},
{
"url": "https://i.scdn.co/image/ab6765630000f68dc7bedd27a4413b1abf926d8a",
"height": 64,
"width": 64
}
],
"is_externally_hosted": true,
"is_playable": true,
"language": "en-US",
"languages": ["en-US"],
"name": "Math Haters vs Math Nerd - Safety Third 118",
"release_date": "2024-07-18",
"release_date_precision": "day",
"resume_point": {
"fully_played": false,
"resume_position_ms": 0
},
"type": "episode",
"uri": "spotify:episode:7CbsFHQq8ljztiUSGw46Fj"
}
]
}
}

View File

@ -0,0 +1,94 @@
{
"href": "https://api.spotify.com/v1/shows/0e30iIgSffe6xJhFKe35Db/episodes?offset=0&limit=20&locale=en-US,en;q%3D0.5",
"items": [
{
"audio_preview_url": "https://podz-content.spotifycdn.com/audio/clips/2O4OLlf7wsvLzCeUbNB3UK/clip_1204000_1256300.mp3",
"description": "The Great War of 2077 and how the Fallout world diverged from our own.Sponsors: Patreon: Become a patron! https://patreon.com/falloutlorecastBuy cool stuff and support the show!Fallout 76: https://amzn.to/3h99B3UFallout Cookbook: https://amzn.to/3aGjeodFallout Boardgame: https://amzn.to/2EgmBq3The Art of Fallout 4: https://amzn.to/3gfQST3Get a REAL Nuca-Cola Quantum! https://amzn.to/322O3zGFallout Funco Pop Figures: https://amzn.to/3gcYsOcLinks: Live Shows every Monday Night and game streams: twitch.tv/robotsradioFallout Hub Podcast w/ Tom & others: https://anchor.fm/the-fallout-hubTalk Fallout and join the Robots Radio fam: Discord: discord.gg/JXKfVhMStay plugged in on Twitter: twitter.com/falloutlorecastRobots Radio Youtube: youtube.com/c/r0b0tsSend me a note! Email: falloutlorecast@gmail.com www.robotsradio.netOur Sponsors:* Check out Bandai Namco: unknown9.com/FALLOUTLOREAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy",
"duration_ms": 2117616,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/episode/3ssmxnilHYaKhwRWoBGMbU"
},
"href": "https://api.spotify.com/v1/episodes/3ssmxnilHYaKhwRWoBGMbU",
"html_description": "<p>The Great War of 2077 and how the Fallout world diverged from our own.</p><p>Sponsors: Patreon: Become a patron! https://patreon.com/falloutlorecast</p><p>Buy cool stuff and support the show!</p><p>Fallout 76: https://amzn.to/3h99B3U</p><p>Fallout Cookbook: https://amzn.to/3aGjeod</p><p>Fallout Boardgame: https://amzn.to/2EgmBq3</p><p>The Art of Fallout 4: https://amzn.to/3gfQST3</p><p>Get a REAL Nuca-Cola Quantum! https://amzn.to/322O3zG</p><p>Fallout Funco Pop Figures: https://amzn.to/3gcYsOc</p><p>Links: Live Shows every Monday Night and game streams: twitch.tv/robotsradio</p><p>Fallout Hub Podcast w/ Tom &amp; others: https://anchor.fm/the-fallout-hub</p><p>Talk Fallout and join the Robots Radio fam: Discord: discord.gg/JXKfVhM</p><p>Stay plugged in on Twitter: twitter.com/falloutlorecast</p><p>Robots Radio Youtube: youtube.com/c/r0b0ts</p><p>Send me a note! Email: falloutlorecast&#64;gmail.com www.robotsradio.net</p><br /><br />Our Sponsors:<br />* Check out Bandai Namco: unknown9.com/FALLOUTLORE<br /><br /><br />Advertising Inquiries: <a href=\"https://redcircle.com/brands\" rel=\"nofollow\">https://redcircle.com/brands</a><br /><br />Privacy &amp; Opt-Out: <a href=\"https://redcircle.com/privacy\" rel=\"nofollow\">https://redcircle.com/privacy</a>",
"id": "3ssmxnilHYaKhwRWoBGMbU",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6765630000ba8af44e9ef63c2d6fb44cb0c9bf",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67656300005f1ff44e9ef63c2d6fb44cb0c9bf",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab6765630000f68df44e9ef63c2d6fb44cb0c9bf",
"width": 64
}
],
"is_externally_hosted": false,
"is_playable": true,
"language": "en-US",
"languages": ["en-US"],
"name": "The Great War - Fallout Lorecast EP 1",
"release_date": "2019-01-09",
"release_date_precision": "day",
"resume_point": {
"fully_played": false,
"resume_position_ms": 0
},
"type": "episode",
"uri": "spotify:episode:3ssmxnilHYaKhwRWoBGMbU"
},
{
"audio_preview_url": "https://podz-content.spotifycdn.com/audio/clips/0PGDORXTYiO2Til9131l6X/clip_310950_371500.mp3",
"description": "Support the show to keep it going, plus get great rewards at patreon.com/falloutlorecast Sponsors: Patreon: Become a patron! https://patreon.com/falloutlorecast Audiobooks.com - Get 3 FREE Audiobooks! https://www.dpbolvw.net/click-100173810-11099382?sid=flore Gamefly - Want 2 months of rentals for the price of 1 at Gamefly? https://www.dpbolvw.net/click-100173810-10495782?sid=flore Loot Crate - 15% off Loot Crate. Click the link and use coupon code: ROBOTSRADIO https://www.dpbolvw.net/click-100173810-13902093?sid=flore GreenMan Gaming - Get awesome discounts on games. https://www.dpbolvw.net/click-100173810-13764551?sid=flore NordVPN - Stay Safe on the Internet and get 68% off. https://www.dpbolvw.net/click-100173810-12814552?sid=flore Buy cool stuff and support the show! Fallout 76: https://amzn.to/3h99B3U Fallout Cookbook: https://amzn.to/3aGjeod Fallout Boardgame: https://amzn.to/2EgmBq3 The Art of Fallout 4: https://amzn.to/3gfQST3 Get a REAL Nuca-Cola Quantum! https://amzn.to/322O3zG Fallout Funco Pop Figures: https://amzn.to/3gcYsOc Links: Live Shows every Monday Night and game streams: twitch.tv/robotsradio Fallout Hub Podcast w/ Tom & others: https://anchor.fm/the-fallout-hub Talk Fallout and join the Robots Radio fam: Discord: discord.gg/JXKfVhM Stay plugged in on Twitter: twitter.com/falloutlorecast Robots Radio Youtube: youtube.com/c/r0b0ts Send me a note! Email: falloutlorecast@gmail.com www.robotsradio.netOur Sponsors:* Check out Bandai Namco: unknown9.com/FALLOUTLOREAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy",
"duration_ms": 2376881,
"explicit": false,
"external_urls": {
"spotify": "https://open.spotify.com/episode/1bbj9aqeeZ3UMUlcWN0S03"
},
"href": "https://api.spotify.com/v1/episodes/1bbj9aqeeZ3UMUlcWN0S03",
"html_description": "<p>Support the show to keep it going, plus get great rewards at patreon.com/falloutlorecast Sponsors: Patreon: Become a patron! https://patreon.com/falloutlorecast Audiobooks.com - Get 3 FREE Audiobooks! https://www.dpbolvw.net/click-100173810-11099382?sid&#61;flore Gamefly - Want 2 months of rentals for the price of 1 at Gamefly? https://www.dpbolvw.net/click-100173810-10495782?sid&#61;flore Loot Crate - 15% off Loot Crate. Click the link and use coupon code: ROBOTSRADIO https://www.dpbolvw.net/click-100173810-13902093?sid&#61;flore GreenMan Gaming - Get awesome discounts on games. https://www.dpbolvw.net/click-100173810-13764551?sid&#61;flore NordVPN - Stay Safe on the Internet and get 68% off. https://www.dpbolvw.net/click-100173810-12814552?sid&#61;flore Buy cool stuff and support the show! Fallout 76: https://amzn.to/3h99B3U Fallout Cookbook: https://amzn.to/3aGjeod Fallout Boardgame: https://amzn.to/2EgmBq3 The Art of Fallout 4: https://amzn.to/3gfQST3 Get a REAL Nuca-Cola Quantum! https://amzn.to/322O3zG Fallout Funco Pop Figures: https://amzn.to/3gcYsOc Links: Live Shows every Monday Night and game streams: twitch.tv/robotsradio Fallout Hub Podcast w/ Tom &amp; others: https://anchor.fm/the-fallout-hub Talk Fallout and join the Robots Radio fam: Discord: discord.gg/JXKfVhM Stay plugged in on Twitter: twitter.com/falloutlorecast Robots Radio Youtube: youtube.com/c/r0b0ts Send me a note! Email: falloutlorecast&#64;gmail.com www.robotsradio.net</p><br /><br />Our Sponsors:<br />* Check out Bandai Namco: unknown9.com/FALLOUTLORE<br /><br /><br />Advertising Inquiries: <a href=\"https://redcircle.com/brands\" rel=\"nofollow\">https://redcircle.com/brands</a><br /><br />Privacy &amp; Opt-Out: <a href=\"https://redcircle.com/privacy\" rel=\"nofollow\">https://redcircle.com/privacy</a>",
"id": "1bbj9aqeeZ3UMUlcWN0S03",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6765630000ba8a655b54a66471089d27dbb03f",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67656300005f1f655b54a66471089d27dbb03f",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab6765630000f68d655b54a66471089d27dbb03f",
"width": 64
}
],
"is_externally_hosted": false,
"is_playable": true,
"language": "en-US",
"languages": ["en-US"],
"name": "Who Dropped the First Bomb?",
"release_date": "2019-01-15",
"release_date_precision": "day",
"resume_point": {
"fully_played": false,
"resume_position_ms": 0
},
"type": "episode",
"uri": "spotify:episode:1bbj9aqeeZ3UMUlcWN0S03"
}
],
"limit": 20,
"next": "https://api.spotify.com/v1/shows/0e30iIgSffe6xJhFKe35Db/episodes?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"offset": 0,
"previous": null,
"total": 323
}

View File

@ -0,0 +1,76 @@
{
"items": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/74Yus6IHfa3tWZzXXAYtS2"
},
"followers": {
"href": null,
"total": 488
},
"genres": [],
"href": "https://api.spotify.com/v1/artists/74Yus6IHfa3tWZzXXAYtS2",
"id": "74Yus6IHfa3tWZzXXAYtS2",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6761610000e5ebf749f53f8bb5ffccf6105ce3",
"width": 640
},
{
"height": 320,
"url": "https://i.scdn.co/image/ab67616100005174f749f53f8bb5ffccf6105ce3",
"width": 320
},
{
"height": 160,
"url": "https://i.scdn.co/image/ab6761610000f178f749f53f8bb5ffccf6105ce3",
"width": 160
}
],
"name": "Onkruid",
"popularity": 7,
"type": "artist",
"uri": "spotify:artist:74Yus6IHfa3tWZzXXAYtS2"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6s5ubAp65wXoTZefE01RNR"
},
"followers": {
"href": null,
"total": 805497
},
"genres": [],
"href": "https://api.spotify.com/v1/artists/6s5ubAp65wXoTZefE01RNR",
"id": "6s5ubAp65wXoTZefE01RNR",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab6761610000e5eb8e750249623067fe3c557cf0",
"width": 640
},
{
"height": 320,
"url": "https://i.scdn.co/image/ab676161000051748e750249623067fe3c557cf0",
"width": 320
},
{
"height": 160,
"url": "https://i.scdn.co/image/ab6761610000f1788e750249623067fe3c557cf0",
"width": 160
}
],
"name": "Joost",
"popularity": 69,
"type": "artist",
"uri": "spotify:artist:6s5ubAp65wXoTZefE01RNR"
}
],
"total": 192,
"limit": 20,
"offset": 0,
"href": "https://api.spotify.com/v1/me/top/artists?locale=en-US,en;q%3D0.5",
"next": "https://api.spotify.com/v1/me/top/artists?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"previous": null
}

View File

@ -0,0 +1,922 @@
{
"items": [
{
"album": {
"album_type": "SINGLE",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0PCCGZ0wGLizHt2KZ7hhA2"
},
"href": "https://api.spotify.com/v1/artists/0PCCGZ0wGLizHt2KZ7hhA2",
"id": "0PCCGZ0wGLizHt2KZ7hhA2",
"name": "Artemas",
"type": "artist",
"uri": "spotify:artist:0PCCGZ0wGLizHt2KZ7hhA2"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/45Qix7gFNajr6IofEIhhE4"
},
"href": "https://api.spotify.com/v1/albums/45Qix7gFNajr6IofEIhhE4",
"id": "45Qix7gFNajr6IofEIhhE4",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b273c88e6a4447087f41eb388b14",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e02c88e6a4447087f41eb388b14",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d00004851c88e6a4447087f41eb388b14",
"width": 64
}
],
"name": "i like the way you kiss me (burnt)",
"release_date": "2024-03-26",
"release_date_precision": "day",
"total_tracks": 2,
"type": "album",
"uri": "spotify:album:45Qix7gFNajr6IofEIhhE4"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/0PCCGZ0wGLizHt2KZ7hhA2"
},
"href": "https://api.spotify.com/v1/artists/0PCCGZ0wGLizHt2KZ7hhA2",
"id": "0PCCGZ0wGLizHt2KZ7hhA2",
"name": "Artemas",
"type": "artist",
"uri": "spotify:artist:0PCCGZ0wGLizHt2KZ7hhA2"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"PR",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 142514,
"explicit": false,
"external_ids": {
"isrc": "QZJ842400387"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/3oRoMXsP2NRzm51lldj1RO"
},
"href": "https://api.spotify.com/v1/tracks/3oRoMXsP2NRzm51lldj1RO",
"id": "3oRoMXsP2NRzm51lldj1RO",
"is_local": false,
"name": "i like the way you kiss me",
"popularity": 51,
"preview_url": "https://p.scdn.co/mp3-preview/6ce9233edb212fe7cf02273f4369d2c60c28e887?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 2,
"type": "track",
"uri": "spotify:track:3oRoMXsP2NRzm51lldj1RO"
},
{
"album": {
"album_type": "SINGLE",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4YLtscXsxbVgi031ovDDdh"
},
"href": "https://api.spotify.com/v1/artists/4YLtscXsxbVgi031ovDDdh",
"id": "4YLtscXsxbVgi031ovDDdh",
"name": "Chris Stapleton",
"type": "artist",
"uri": "spotify:artist:4YLtscXsxbVgi031ovDDdh"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6M2wZ9GZgrQXHCFfjv46we"
},
"href": "https://api.spotify.com/v1/artists/6M2wZ9GZgrQXHCFfjv46we",
"id": "6M2wZ9GZgrQXHCFfjv46we",
"name": "Dua Lipa",
"type": "artist",
"uri": "spotify:artist:6M2wZ9GZgrQXHCFfjv46we"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/3pjMBXbDLg2oGL7HtVxWgY"
},
"href": "https://api.spotify.com/v1/albums/3pjMBXbDLg2oGL7HtVxWgY",
"id": "3pjMBXbDLg2oGL7HtVxWgY",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/ab67616d0000b27386f028311a5a746aa46b412f",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/ab67616d00001e0286f028311a5a746aa46b412f",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/ab67616d0000485186f028311a5a746aa46b412f",
"width": 64
}
],
"name": "Think I'm In Love With You (With Dua Lipa) (Live From The 59th ACM Awards)",
"release_date": "2024-05-01",
"release_date_precision": "day",
"total_tracks": 1,
"type": "album",
"uri": "spotify:album:3pjMBXbDLg2oGL7HtVxWgY"
},
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/4YLtscXsxbVgi031ovDDdh"
},
"href": "https://api.spotify.com/v1/artists/4YLtscXsxbVgi031ovDDdh",
"id": "4YLtscXsxbVgi031ovDDdh",
"name": "Chris Stapleton",
"type": "artist",
"uri": "spotify:artist:4YLtscXsxbVgi031ovDDdh"
},
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/6M2wZ9GZgrQXHCFfjv46we"
},
"href": "https://api.spotify.com/v1/artists/6M2wZ9GZgrQXHCFfjv46we",
"id": "6M2wZ9GZgrQXHCFfjv46we",
"name": "Dua Lipa",
"type": "artist",
"uri": "spotify:artist:6M2wZ9GZgrQXHCFfjv46we"
}
],
"available_markets": [
"AR",
"AU",
"AT",
"BE",
"BO",
"BR",
"BG",
"CA",
"CL",
"CO",
"CR",
"CY",
"CZ",
"DK",
"DO",
"DE",
"EC",
"EE",
"SV",
"FI",
"FR",
"GR",
"GT",
"HN",
"HK",
"HU",
"IS",
"IE",
"IT",
"LV",
"LT",
"LU",
"MY",
"MT",
"MX",
"NL",
"NZ",
"NI",
"NO",
"PA",
"PY",
"PE",
"PH",
"PL",
"PT",
"SG",
"SK",
"ES",
"SE",
"CH",
"TW",
"TR",
"UY",
"US",
"GB",
"AD",
"LI",
"MC",
"ID",
"JP",
"TH",
"VN",
"RO",
"IL",
"ZA",
"SA",
"AE",
"BH",
"QA",
"OM",
"KW",
"EG",
"MA",
"DZ",
"TN",
"LB",
"JO",
"PS",
"IN",
"KZ",
"MD",
"UA",
"AL",
"BA",
"HR",
"ME",
"MK",
"RS",
"SI",
"KR",
"BD",
"PK",
"LK",
"GH",
"KE",
"NG",
"TZ",
"UG",
"AG",
"AM",
"BS",
"BB",
"BZ",
"BT",
"BW",
"BF",
"CV",
"CW",
"DM",
"FJ",
"GM",
"GE",
"GD",
"GW",
"GY",
"HT",
"JM",
"KI",
"LS",
"LR",
"MW",
"MV",
"ML",
"MH",
"FM",
"NA",
"NR",
"NE",
"PW",
"PG",
"WS",
"SM",
"ST",
"SN",
"SC",
"SL",
"SB",
"KN",
"LC",
"VC",
"SR",
"TL",
"TO",
"TT",
"TV",
"VU",
"AZ",
"BN",
"BI",
"KH",
"CM",
"TD",
"KM",
"GQ",
"SZ",
"GA",
"GN",
"KG",
"LA",
"MO",
"MR",
"MN",
"NP",
"RW",
"TG",
"UZ",
"ZW",
"BJ",
"MG",
"MU",
"MZ",
"AO",
"CI",
"DJ",
"ZM",
"CD",
"CG",
"IQ",
"LY",
"TJ",
"VE",
"ET",
"XK"
],
"disc_number": 1,
"duration_ms": 277066,
"explicit": false,
"external_ids": {
"isrc": "USUG12403278"
},
"external_urls": {
"spotify": "https://open.spotify.com/track/69zgu5rlAie3IPZOEXLxyS"
},
"href": "https://api.spotify.com/v1/tracks/69zgu5rlAie3IPZOEXLxyS",
"id": "69zgu5rlAie3IPZOEXLxyS",
"is_local": false,
"name": "Think I'm In Love With You (With Dua Lipa) (Live From The 59th ACM Awards)",
"popularity": 60,
"preview_url": "https://p.scdn.co/mp3-preview/c4fa0377538248e0a3c7e92bcf5a58be2f32b342?cid=cfe923b2d660439caf2b557b21f31221",
"track_number": 1,
"type": "track",
"uri": "spotify:track:69zgu5rlAie3IPZOEXLxyS"
}
],
"total": 2951,
"limit": 20,
"offset": 0,
"href": "https://api.spotify.com/v1/me/top/tracks?locale=en-US,en;q%3D0.5",
"next": "https://api.spotify.com/v1/me/top/tracks?offset=20&limit=20&locale=en-US,en;q%3D0.5",
"previous": null
}

View File

@ -229,3 +229,593 @@
'title': 'Spotify', 'title': 'Spotify',
}) })
# --- # ---
# name: test_browsing[album-spotify:album:3IqzqH6ShrRtie9Yd2ODyG]
dict({
'can_expand': True,
'can_play': True,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:6akJGriy4njdP8fZTPGjwz',
'media_content_type': 'spotify://track',
'thumbnail': None,
'title': 'All Your Friends',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:7N02bJK1amhplZ8yAapRS5',
'media_content_type': 'spotify://track',
'thumbnail': None,
'title': 'New Magiks',
}),
]),
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:3IqzqH6ShrRtie9Yd2ODyG',
'media_content_type': 'spotify://album',
'not_shown': 0,
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273a61a28c2f084761f8833bce6',
'title': 'SINGLARITY',
})
# ---
# name: test_browsing[artist-spotify:artist:0TnOYISbd1XYRBk9myaseg]
dict({
'can_expand': True,
'can_play': True,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:56jg3KJcYmfL7RzYmG2O1Q',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273a0bac1996f26274685db1520',
'title': 'Trackhouse (Daytona 500 Edition)',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:1l86t4bTNT2j1X0ZBCIv6R',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b27333a4ba8f73271a749c5d953d',
'title': 'Trackhouse',
}),
]),
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.ARTIST: 'artist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:artist:0TnOYISbd1XYRBk9myaseg',
'media_content_type': 'spotify://artist',
'not_shown': 0,
'thumbnail': 'https://i.scdn.co/image/ab6761610000e5ebee07b5820dd91d15d397e29c',
'title': 'Pitbull',
})
# ---
# name: test_browsing[categories-categories]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': False,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/0JQ5DAt0tbjZptfcdMSKl3',
'media_content_type': 'spotify://category_playlists',
'thumbnail': 'https://t.scdn.co/images/728ed47fc1674feb95f7ac20236eb6d7.jpeg',
'title': 'Made For You',
}),
dict({
'can_expand': True,
'can_play': False,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/0JQ5DAqbMKFz6FAsUtgAab',
'media_content_type': 'spotify://category_playlists',
'thumbnail': 'https://t.scdn.co/images/728ed47fc1674feb95f7ac20236eb6d7.jpeg',
'title': 'New Releases',
}),
]),
'children_media_class': <MediaClass.GENRE: 'genre'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/categories',
'media_content_type': 'spotify://categories',
'not_shown': 0,
'thumbnail': None,
'title': 'Categories',
})
# ---
# name: test_browsing[category_playlists-dinner]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:37i9dQZF1DX7yhuKT9G4qk',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://i.scdn.co/image/ab67706f0000000343319faa9428405f3312b588',
'title': 'eten met vrienden',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:37i9dQZF1DXbvE0SE0Cczh',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://i.scdn.co/image/ab67706f00000003b93c270883619dde61725fc8',
'title': 'Jukebox Joint',
}),
]),
'children_media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/dinner',
'media_content_type': 'spotify://category_playlists',
'not_shown': 0,
'thumbnail': 'https://t.scdn.co/media/original/dinner_1b6506abba0ba52c54e6d695c8571078_274x274.jpg',
'title': 'Cooking & Dining',
})
# ---
# name: test_browsing[current_user_followed_artists-current_user_followed_artists]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.ARTIST: 'artist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:artist:0lLY20XpZ9yDobkbHI7u1y',
'media_content_type': 'spotify://artist',
'thumbnail': 'https://i.scdn.co/image/ab6761610000e5eb0fb1220e7e3ace47ebad023e',
'title': 'Pegboard Nerds',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.ARTIST: 'artist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:artist:0p4nmQO2msCgU4IF37Wi3j',
'media_content_type': 'spotify://artist',
'thumbnail': 'https://i.scdn.co/image/ab6761610000e5eb5c3349ddba6b8e064c1bab16',
'title': 'Avril Lavigne',
}),
]),
'children_media_class': <MediaClass.ARTIST: 'artist'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_followed_artists',
'media_content_type': 'spotify://current_user_followed_artists',
'not_shown': 0,
'thumbnail': None,
'title': 'Artists',
})
# ---
# name: test_browsing[current_user_playlists-current_user_playlists]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:4WkWJ0EjHEFASDevhM8oPw',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273d061f5bfae8d38558f3698c1',
'title': 'Hyper',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:1RHirWgH1weMsBLi4KOK9d',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://mosaic.scdn.co/640/ab67616d0000b2732f3e58dd611d177973cb3a8cab67616d0000b27345cab965cb4639a4e669564aab67616d0000b2739e83c93811be6abfad8649d6ab67616d0000b273e4c03429788f0aff263a5fc6',
'title': 'Aint got shit on me',
}),
]),
'children_media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_playlists',
'media_content_type': 'spotify://current_user_playlists',
'not_shown': 0,
'thumbnail': None,
'title': 'Playlists',
})
# ---
# name: test_browsing[current_user_recently_played-current_user_recently_played]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:71dMjqJ8UJV700zYs5YZCh',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273cdac047e7894fb56a0dfdcde',
'title': 'Super Breath',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:71dMjqJ8UJV700zYs5YZCh',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273cdac047e7894fb56a0dfdcde',
'title': 'Super Breath',
}),
]),
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_recently_played',
'media_content_type': 'spotify://current_user_recently_played',
'not_shown': 0,
'thumbnail': None,
'title': 'Recently played',
})
# ---
# name: test_browsing[current_user_saved_albums-current_user_saved_albums]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:57MSBg5pBQZH5bfLVDmeuP',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b2733126a95bb7ed4146a80c7fc6',
'title': 'In Waves',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:3DQueEd1Ft9PHWgovDzPKh',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b2736b8a4828e057b7dc1c4a4d39',
'title': 'ten days',
}),
]),
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_saved_albums',
'media_content_type': 'spotify://current_user_saved_albums',
'not_shown': 0,
'thumbnail': None,
'title': 'Albums',
})
# ---
# name: test_browsing[current_user_saved_shows-current_user_saved_shows]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.EPISODE: 'episode'>,
'media_class': <MediaClass.PODCAST: 'podcast'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:show:5OzkclFjD6iAjtAuo7aIYt',
'media_content_type': 'spotify://show',
'thumbnail': 'https://i.scdn.co/image/ab6765630000f68db5f65a943ef4f707bf79949b',
'title': 'Toni and Ryan',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.EPISODE: 'episode'>,
'media_class': <MediaClass.PODCAST: 'podcast'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:show:6XYRres0KZtnTqKcLavWR2',
'media_content_type': 'spotify://show',
'thumbnail': 'https://i.scdn.co/image/ab6765630000f68d5fccb05c5685c081d5c2ad9c',
'title': 'BLAST Push To Talk',
}),
]),
'children_media_class': <MediaClass.PODCAST: 'podcast'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_saved_shows',
'media_content_type': 'spotify://current_user_saved_shows',
'not_shown': 0,
'thumbnail': None,
'title': 'Podcasts',
})
# ---
# name: test_browsing[current_user_saved_tracks-current_user_saved_tracks]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:2pj2A25YQK4uMxhZheNx7R',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273ac9dd449e38e5e8952fd22ad',
'title': 'Otherside',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:2lKOI1nwP5qZtZC7TGQVY8',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b2733d710ab088ff797e80cc5aed',
'title': 'I Think I Need A DJ',
}),
]),
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_saved_tracks',
'media_content_type': 'spotify://current_user_saved_tracks',
'not_shown': 0,
'thumbnail': None,
'title': 'Tracks',
})
# ---
# name: test_browsing[current_user_top_artists-current_user_top_artists]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.ARTIST: 'artist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:artist:74Yus6IHfa3tWZzXXAYtS2',
'media_content_type': 'spotify://artist',
'thumbnail': 'https://i.scdn.co/image/ab6761610000e5ebf749f53f8bb5ffccf6105ce3',
'title': 'Onkruid',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.ARTIST: 'artist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:artist:6s5ubAp65wXoTZefE01RNR',
'media_content_type': 'spotify://artist',
'thumbnail': 'https://i.scdn.co/image/ab6761610000e5eb8e750249623067fe3c557cf0',
'title': 'Joost',
}),
]),
'children_media_class': <MediaClass.ARTIST: 'artist'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_top_artists',
'media_content_type': 'spotify://current_user_top_artists',
'not_shown': 0,
'thumbnail': None,
'title': 'Top Artists',
})
# ---
# name: test_browsing[current_user_top_tracks-current_user_top_tracks]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:3oRoMXsP2NRzm51lldj1RO',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273c88e6a4447087f41eb388b14',
'title': 'i like the way you kiss me',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:69zgu5rlAie3IPZOEXLxyS',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b27386f028311a5a746aa46b412f',
'title': "Think I'm In Love With You (With Dua Lipa) (Live From The 59th ACM Awards)",
}),
]),
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/current_user_top_tracks',
'media_content_type': 'spotify://current_user_top_tracks',
'not_shown': 0,
'thumbnail': None,
'title': 'Top Tracks',
})
# ---
# name: test_browsing[featured_playlists-featured_playlists]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:37i9dQZF1DX4dopZ9vOp1t',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://i.scdn.co/image/ab67706f000000037d14c267b8ee5fea2246a8fe',
'title': 'Kerst Hits 2023',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:37i9dQZF1DWSBi5svWQ9Nk',
'media_content_type': 'spotify://playlist',
'thumbnail': 'https://i.scdn.co/image/ab67706f00000003f7b99051789611a49101c1cf',
'title': 'Top Hits NL',
}),
]),
'children_media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/featured_playlists',
'media_content_type': 'spotify://featured_playlists',
'not_shown': 0,
'thumbnail': None,
'title': 'Featured Playlists',
})
# ---
# name: test_browsing[new_releases-new_releases]
dict({
'can_expand': True,
'can_play': False,
'children': list([
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:5SGtrmYbIo0Dsg4kJ4qjM6',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d00001e0209ba52a5116e0c3e8461f58b',
'title': 'Moon Music',
}),
dict({
'can_expand': True,
'can_play': True,
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.ALBUM: 'album'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:album:713lZ7AF55fEFSQgcttj9y',
'media_content_type': 'spotify://album',
'thumbnail': 'https://i.scdn.co/image/ab67616d00001e02ab9953b1d18f8233f6b26027',
'title': 'drift',
}),
]),
'children_media_class': <MediaClass.ALBUM: 'album'>,
'media_class': <MediaClass.DIRECTORY: 'directory'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/new_releases',
'media_content_type': 'spotify://new_releases',
'not_shown': 0,
'thumbnail': None,
'title': 'New Releases',
})
# ---
# name: test_browsing[playlist-spotify:playlist:3cEYpjA9oz9GiPac4AsH4n]
dict({
'can_expand': True,
'can_play': True,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:4rzfv0JLZfVhOhbSQ8o5jZ',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273ce6d0eef0c1ce77e5f95bbbc',
'title': 'Api',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:5o3jMYOSbaVz3tkgwhELSV',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273aa2ff29970d9a63a49dfaeb2',
'title': 'Is',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:4Cy0NHJ8Gh0xMdwyM9RkQm',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b273ee0d0dce888c6c8a70db6e8b',
'title': 'All I Want',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:6hvFrZNocdt2FcKGCSY5NI',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b2738b7447ac3daa1da18811cf7b',
'title': 'Endpoints',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.TRACK: 'track'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:track:2E2znCPaS8anQe21GLxcvJ',
'media_content_type': 'spotify://track',
'thumbnail': 'https://i.scdn.co/image/ab67616d0000b27304e57d181ff062f8339d6c71',
'title': 'You Are So Beautiful',
}),
]),
'children_media_class': <MediaClass.TRACK: 'track'>,
'media_class': <MediaClass.PLAYLIST: 'playlist'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:playlist:3cEYpjA9oz9GiPac4AsH4n',
'media_content_type': 'spotify://playlist',
'not_shown': 0,
'thumbnail': 'https://i.scdn.co/image/ab67706c0000da848d0ce13d55f634e290f744ba',
'title': 'Spotify Web API Testing playlist',
})
# ---
# name: test_browsing[show-spotify:show:1Y9ExMgMxoBVrgrfU7u0nD]
dict({
'can_expand': True,
'can_play': True,
'children': list([
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.EPISODE: 'episode'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:episode:3ssmxnilHYaKhwRWoBGMbU',
'media_content_type': 'spotify://episode',
'thumbnail': 'https://i.scdn.co/image/ab6765630000ba8af44e9ef63c2d6fb44cb0c9bf',
'title': 'The Great War - Fallout Lorecast EP 1',
}),
dict({
'can_expand': False,
'can_play': True,
'children_media_class': None,
'media_class': <MediaClass.EPISODE: 'episode'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:episode:1bbj9aqeeZ3UMUlcWN0S03',
'media_content_type': 'spotify://episode',
'thumbnail': 'https://i.scdn.co/image/ab6765630000ba8a655b54a66471089d27dbb03f',
'title': 'Who Dropped the First Bomb?',
}),
]),
'children_media_class': <MediaClass.EPISODE: 'episode'>,
'media_class': <MediaClass.PODCAST: 'podcast'>,
'media_content_id': 'spotify://01j5tx5a0ff6g5v0qjx6hbc94t/spotify:show:1Y9ExMgMxoBVrgrfU7u0nD',
'media_content_type': 'spotify://show',
'not_shown': 0,
'thumbnail': 'https://i.scdn.co/image/ab6765630000ba8ac7bedd27a4413b1abf926d8a',
'title': 'Safety Third',
})
# ---

View File

@ -98,3 +98,43 @@ async def test_browse_media_playlists(
f"spotify://{config_entry_id}/current_user_playlists", f"spotify://{config_entry_id}/current_user_playlists",
) )
assert response.as_dict() == snapshot assert response.as_dict() == snapshot
@pytest.mark.parametrize(
("media_content_type", "media_content_id"),
[
("current_user_playlists", "current_user_playlists"),
("current_user_followed_artists", "current_user_followed_artists"),
("current_user_saved_albums", "current_user_saved_albums"),
("current_user_saved_tracks", "current_user_saved_tracks"),
("current_user_saved_shows", "current_user_saved_shows"),
("current_user_recently_played", "current_user_recently_played"),
("current_user_top_artists", "current_user_top_artists"),
("current_user_top_tracks", "current_user_top_tracks"),
("featured_playlists", "featured_playlists"),
("categories", "categories"),
("category_playlists", "dinner"),
("new_releases", "new_releases"),
("playlist", "spotify:playlist:3cEYpjA9oz9GiPac4AsH4n"),
("album", "spotify:album:3IqzqH6ShrRtie9Yd2ODyG"),
("artist", "spotify:artist:0TnOYISbd1XYRBk9myaseg"),
("show", "spotify:show:1Y9ExMgMxoBVrgrfU7u0nD"),
],
)
@pytest.mark.usefixtures("setup_credentials")
async def test_browsing(
hass: HomeAssistant,
mock_spotify: MagicMock,
snapshot: SnapshotAssertion,
mock_config_entry: MockConfigEntry,
media_content_type: str,
media_content_id: str,
) -> None:
"""Test browsing playlists for the two config entries."""
await setup_integration(hass, mock_config_entry)
response = await async_browse_media(
hass,
f"spotify://{media_content_type}",
f"spotify://{mock_config_entry.entry_id}/{media_content_id}",
)
assert response.as_dict() == snapshot