spotify-api-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +30 -0
- data/README.md +107 -0
- data/lib/spotify_web_api/api_helper.rb +10 -0
- data/lib/spotify_web_api/client.rb +154 -0
- data/lib/spotify_web_api/configuration.rb +180 -0
- data/lib/spotify_web_api/controllers/albums_controller.rb +295 -0
- data/lib/spotify_web_api/controllers/artists_controller.rb +187 -0
- data/lib/spotify_web_api/controllers/audiobooks_controller.rb +258 -0
- data/lib/spotify_web_api/controllers/base_controller.rb +66 -0
- data/lib/spotify_web_api/controllers/categories_controller.rb +83 -0
- data/lib/spotify_web_api/controllers/chapters_controller.rb +82 -0
- data/lib/spotify_web_api/controllers/episodes_controller.rb +239 -0
- data/lib/spotify_web_api/controllers/genres_controller.rb +39 -0
- data/lib/spotify_web_api/controllers/markets_controller.rb +38 -0
- data/lib/spotify_web_api/controllers/o_auth_authorization_controller.rb +82 -0
- data/lib/spotify_web_api/controllers/player_controller.rb +509 -0
- data/lib/spotify_web_api/controllers/playlists_controller.rb +521 -0
- data/lib/spotify_web_api/controllers/search_controller.rb +60 -0
- data/lib/spotify_web_api/controllers/shows_controller.rb +261 -0
- data/lib/spotify_web_api/controllers/tracks_controller.rb +491 -0
- data/lib/spotify_web_api/controllers/users_controller.rb +396 -0
- data/lib/spotify_web_api/exceptions/api_exception.rb +10 -0
- data/lib/spotify_web_api/exceptions/bad_request_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/forbidden_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/not_found_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/o_auth_provider_exception.rb +48 -0
- data/lib/spotify_web_api/exceptions/too_many_requests_exception.rb +32 -0
- data/lib/spotify_web_api/exceptions/unauthorized_exception.rb +32 -0
- data/lib/spotify_web_api/http/api_response.rb +21 -0
- data/lib/spotify_web_api/http/auth/o_auth2.rb +146 -0
- data/lib/spotify_web_api/http/http_call_back.rb +10 -0
- data/lib/spotify_web_api/http/http_method_enum.rb +10 -0
- data/lib/spotify_web_api/http/http_request.rb +10 -0
- data/lib/spotify_web_api/http/http_response.rb +10 -0
- data/lib/spotify_web_api/models/album_base.rb +168 -0
- data/lib/spotify_web_api/models/album_group_enum.rb +29 -0
- data/lib/spotify_web_api/models/album_object.rb +247 -0
- data/lib/spotify_web_api/models/album_restriction_object.rb +53 -0
- data/lib/spotify_web_api/models/album_type_enum.rb +26 -0
- data/lib/spotify_web_api/models/artist_discography_album_object.rb +194 -0
- data/lib/spotify_web_api/models/artist_object.rb +147 -0
- data/lib/spotify_web_api/models/audio_analysis_object.rb +156 -0
- data/lib/spotify_web_api/models/audio_features_object.rb +249 -0
- data/lib/spotify_web_api/models/audiobook_base.rb +245 -0
- data/lib/spotify_web_api/models/audiobook_object.rb +253 -0
- data/lib/spotify_web_api/models/author_object.rb +50 -0
- data/lib/spotify_web_api/models/base_model.rb +62 -0
- data/lib/spotify_web_api/models/categories.rb +110 -0
- data/lib/spotify_web_api/models/category_object.rb +82 -0
- data/lib/spotify_web_api/models/chapter_base.rb +237 -0
- data/lib/spotify_web_api/models/chapter_object.rb +245 -0
- data/lib/spotify_web_api/models/chapter_restriction_object.rb +59 -0
- data/lib/spotify_web_api/models/context_object.rb +78 -0
- data/lib/spotify_web_api/models/copyright_object.rb +60 -0
- data/lib/spotify_web_api/models/currently_playing_context_object.rb +137 -0
- data/lib/spotify_web_api/models/currently_playing_object.rb +109 -0
- data/lib/spotify_web_api/models/cursor_object.rb +59 -0
- data/lib/spotify_web_api/models/cursor_paged_artists.rb +48 -0
- data/lib/spotify_web_api/models/cursor_paging_object.rb +88 -0
- data/lib/spotify_web_api/models/cursor_paging_play_history_object.rb +106 -0
- data/lib/spotify_web_api/models/cursor_paging_simplified_artist_object.rb +106 -0
- data/lib/spotify_web_api/models/device_object.rb +126 -0
- data/lib/spotify_web_api/models/disallows_object.rb +140 -0
- data/lib/spotify_web_api/models/episode_base.rb +237 -0
- data/lib/spotify_web_api/models/episode_object.rb +246 -0
- data/lib/spotify_web_api/models/episode_restriction_object.rb +58 -0
- data/lib/spotify_web_api/models/error_object.rb +59 -0
- data/lib/spotify_web_api/models/explicit_content_settings_object.rb +61 -0
- data/lib/spotify_web_api/models/external_id_object.rb +72 -0
- data/lib/spotify_web_api/models/external_url_object.rb +51 -0
- data/lib/spotify_web_api/models/followers_object.rb +62 -0
- data/lib/spotify_web_api/models/image_object.rb +67 -0
- data/lib/spotify_web_api/models/include_external_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type1_enum.rb +20 -0
- data/lib/spotify_web_api/models/item_type2_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type3_enum.rb +23 -0
- data/lib/spotify_web_api/models/item_type_enum.rb +38 -0
- data/lib/spotify_web_api/models/linked_track_object.rb +89 -0
- data/lib/spotify_web_api/models/many_albums.rb +57 -0
- data/lib/spotify_web_api/models/many_artists.rb +57 -0
- data/lib/spotify_web_api/models/many_audio_features.rb +57 -0
- data/lib/spotify_web_api/models/many_audiobooks.rb +57 -0
- data/lib/spotify_web_api/models/many_chapters.rb +57 -0
- data/lib/spotify_web_api/models/many_devices.rb +57 -0
- data/lib/spotify_web_api/models/many_episodes.rb +57 -0
- data/lib/spotify_web_api/models/many_genres.rb +48 -0
- data/lib/spotify_web_api/models/many_simplified_shows.rb +57 -0
- data/lib/spotify_web_api/models/many_tracks.rb +57 -0
- data/lib/spotify_web_api/models/markets.rb +50 -0
- data/lib/spotify_web_api/models/me_albums_request.rb +55 -0
- data/lib/spotify_web_api/models/me_episodes_request.rb +52 -0
- data/lib/spotify_web_api/models/me_episodes_request1.rb +54 -0
- data/lib/spotify_web_api/models/me_following_request.rb +53 -0
- data/lib/spotify_web_api/models/me_following_request1.rb +55 -0
- data/lib/spotify_web_api/models/me_player_play_request.rb +89 -0
- data/lib/spotify_web_api/models/me_player_request.rb +63 -0
- data/lib/spotify_web_api/models/me_shows_request.rb +55 -0
- data/lib/spotify_web_api/models/me_tracks_request.rb +53 -0
- data/lib/spotify_web_api/models/me_tracks_request1.rb +55 -0
- data/lib/spotify_web_api/models/meta.rb +110 -0
- data/lib/spotify_web_api/models/mode_enum.rb +30 -0
- data/lib/spotify_web_api/models/narrator_object.rb +50 -0
- data/lib/spotify_web_api/models/o_auth_provider_error_enum.rb +45 -0
- data/lib/spotify_web_api/models/o_auth_scope_enum.rb +94 -0
- data/lib/spotify_web_api/models/o_auth_token.rb +96 -0
- data/lib/spotify_web_api/models/paged_albums.rb +48 -0
- data/lib/spotify_web_api/models/paged_categories.rb +48 -0
- data/lib/spotify_web_api/models/paging_artist_discography_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_artist_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_featured_playlist_object.rb +59 -0
- data/lib/spotify_web_api/models/paging_object.rb +93 -0
- data/lib/spotify_web_api/models/paging_playlist_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_playlist_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_audiobook_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_episode_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_show_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_saved_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_album_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_audiobook_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_chapter_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_episode_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_show_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_simplified_track_object.rb +110 -0
- data/lib/spotify_web_api/models/paging_track_object.rb +110 -0
- data/lib/spotify_web_api/models/play_history_object.rb +77 -0
- data/lib/spotify_web_api/models/playlist_object.rb +193 -0
- data/lib/spotify_web_api/models/playlist_owner_object.rb +109 -0
- data/lib/spotify_web_api/models/playlist_snapshot_id.rb +50 -0
- data/lib/spotify_web_api/models/playlist_track_object.rb +90 -0
- data/lib/spotify_web_api/models/playlist_tracks_ref_object.rb +60 -0
- data/lib/spotify_web_api/models/playlist_user_object.rb +98 -0
- data/lib/spotify_web_api/models/playlists_followers_request.rb +51 -0
- data/lib/spotify_web_api/models/playlists_request.rb +82 -0
- data/lib/spotify_web_api/models/playlists_tracks_request.rb +72 -0
- data/lib/spotify_web_api/models/playlists_tracks_request1.rb +97 -0
- data/lib/spotify_web_api/models/playlists_tracks_request2.rb +75 -0
- data/lib/spotify_web_api/models/private_user_object.rb +181 -0
- data/lib/spotify_web_api/models/public_user_object.rb +128 -0
- data/lib/spotify_web_api/models/queue_object.rb +60 -0
- data/lib/spotify_web_api/models/reason_enum.rb +29 -0
- data/lib/spotify_web_api/models/recommendation_seed_object.rb +104 -0
- data/lib/spotify_web_api/models/recommendations_object.rb +74 -0
- data/lib/spotify_web_api/models/release_date_precision_enum.rb +26 -0
- data/lib/spotify_web_api/models/resume_point_object.rb +60 -0
- data/lib/spotify_web_api/models/saved_album_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_audiobook_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_episode_object.rb +70 -0
- data/lib/spotify_web_api/models/saved_show_object.rb +73 -0
- data/lib/spotify_web_api/models/saved_track_object.rb +73 -0
- data/lib/spotify_web_api/models/search_items.rb +107 -0
- data/lib/spotify_web_api/models/section_object.rb +180 -0
- data/lib/spotify_web_api/models/segment_object.rb +166 -0
- data/lib/spotify_web_api/models/show_base.rb +211 -0
- data/lib/spotify_web_api/models/show_object.rb +219 -0
- data/lib/spotify_web_api/models/simplified_album_object.rb +186 -0
- data/lib/spotify_web_api/models/simplified_artist_object.rb +98 -0
- data/lib/spotify_web_api/models/simplified_playlist_object.rb +184 -0
- data/lib/spotify_web_api/models/simplified_track_object.rb +227 -0
- data/lib/spotify_web_api/models/time_interval_object.rb +68 -0
- data/lib/spotify_web_api/models/track.rb +331 -0
- data/lib/spotify_web_api/models/track1.rb +50 -0
- data/lib/spotify_web_api/models/track_object.rb +265 -0
- data/lib/spotify_web_api/models/track_restriction_object.rb +58 -0
- data/lib/spotify_web_api/models/type2_enum.rb +20 -0
- data/lib/spotify_web_api/models/type3_enum.rb +20 -0
- data/lib/spotify_web_api/models/type4_enum.rb +20 -0
- data/lib/spotify_web_api/models/type6_enum.rb +20 -0
- data/lib/spotify_web_api/models/type7_enum.rb +20 -0
- data/lib/spotify_web_api/models/type8_enum.rb +20 -0
- data/lib/spotify_web_api/models/type9_enum.rb +20 -0
- data/lib/spotify_web_api/models/type_enum.rb +20 -0
- data/lib/spotify_web_api/models/users_playlists_request.rb +87 -0
- data/lib/spotify_web_api/utilities/date_time_helper.rb +11 -0
- data/lib/spotify_web_api/utilities/file_wrapper.rb +16 -0
- data/lib/spotify_web_api.rb +198 -0
- metadata +264 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# spotify_web_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
|
4
|
+
# ( https://apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SpotifyWebApi
|
|
7
|
+
# ShowsController
|
|
8
|
+
class ShowsController < BaseController
|
|
9
|
+
# Get Spotify catalog information for a single show identified by its
|
|
10
|
+
# unique Spotify ID.
|
|
11
|
+
# @param [String] id Required parameter: Example:
|
|
12
|
+
# @param [String] market Optional parameter: Example:
|
|
13
|
+
# @return [ShowObject] response from the API call
|
|
14
|
+
def get_a_show(id,
|
|
15
|
+
market: nil)
|
|
16
|
+
new_api_call_builder
|
|
17
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
18
|
+
'/shows/{id}',
|
|
19
|
+
Server::DEFAULT)
|
|
20
|
+
.template_param(new_parameter(id, key: 'id')
|
|
21
|
+
.should_encode(true))
|
|
22
|
+
.query_param(new_parameter(market, key: 'market'))
|
|
23
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
24
|
+
.auth(Single.new('oauth_2_0')))
|
|
25
|
+
.response(new_response_handler
|
|
26
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
27
|
+
.deserialize_into(ShowObject.method(:from_hash))
|
|
28
|
+
.is_api_response(true)
|
|
29
|
+
.local_error('401',
|
|
30
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
31
|
+
' token or\nthe access token has expired. You should'\
|
|
32
|
+
' re-authenticate the user.\n",
|
|
33
|
+
UnauthorizedException)
|
|
34
|
+
.local_error('403',
|
|
35
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
36
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
37
|
+
' won't help here.\n",
|
|
38
|
+
ForbiddenException)
|
|
39
|
+
.local_error('429',
|
|
40
|
+
"The app has exceeded its rate limits.\n",
|
|
41
|
+
TooManyRequestsException))
|
|
42
|
+
.execute
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Get Spotify catalog information for several shows based on their Spotify
|
|
46
|
+
# IDs.
|
|
47
|
+
# @param [String] ids Required parameter: Example:
|
|
48
|
+
# @param [String] market Optional parameter: Example:
|
|
49
|
+
# @return [ManySimplifiedShows] response from the API call
|
|
50
|
+
def get_multiple_shows(ids,
|
|
51
|
+
market: nil)
|
|
52
|
+
new_api_call_builder
|
|
53
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
54
|
+
'/shows',
|
|
55
|
+
Server::DEFAULT)
|
|
56
|
+
.query_param(new_parameter(ids, key: 'ids'))
|
|
57
|
+
.query_param(new_parameter(market, key: 'market'))
|
|
58
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
59
|
+
.auth(Single.new('oauth_2_0')))
|
|
60
|
+
.response(new_response_handler
|
|
61
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
62
|
+
.deserialize_into(ManySimplifiedShows.method(:from_hash))
|
|
63
|
+
.is_api_response(true)
|
|
64
|
+
.local_error('401',
|
|
65
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
66
|
+
' token or\nthe access token has expired. You should'\
|
|
67
|
+
' re-authenticate the user.\n",
|
|
68
|
+
UnauthorizedException)
|
|
69
|
+
.local_error('403',
|
|
70
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
71
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
72
|
+
' won't help here.\n",
|
|
73
|
+
ForbiddenException)
|
|
74
|
+
.local_error('429',
|
|
75
|
+
"The app has exceeded its rate limits.\n",
|
|
76
|
+
TooManyRequestsException))
|
|
77
|
+
.execute
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Get Spotify catalog information about an show’s episodes. Optional
|
|
81
|
+
# parameters can be used to limit the number of episodes returned.
|
|
82
|
+
# @param [String] id Required parameter: Example:
|
|
83
|
+
# @param [String] market Optional parameter: Example:
|
|
84
|
+
# @param [Integer] limit Optional parameter: Example:20
|
|
85
|
+
# @param [Integer] offset Optional parameter: Example:0
|
|
86
|
+
# @return [PagingSimplifiedEpisodeObject] response from the API call
|
|
87
|
+
def get_a_shows_episodes(id,
|
|
88
|
+
market: nil,
|
|
89
|
+
limit: 20,
|
|
90
|
+
offset: 0)
|
|
91
|
+
new_api_call_builder
|
|
92
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
93
|
+
'/shows/{id}/episodes',
|
|
94
|
+
Server::DEFAULT)
|
|
95
|
+
.template_param(new_parameter(id, key: 'id')
|
|
96
|
+
.should_encode(true))
|
|
97
|
+
.query_param(new_parameter(market, key: 'market'))
|
|
98
|
+
.query_param(new_parameter(limit, key: 'limit'))
|
|
99
|
+
.query_param(new_parameter(offset, key: 'offset'))
|
|
100
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
101
|
+
.auth(Single.new('oauth_2_0')))
|
|
102
|
+
.response(new_response_handler
|
|
103
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
104
|
+
.deserialize_into(PagingSimplifiedEpisodeObject.method(:from_hash))
|
|
105
|
+
.is_api_response(true)
|
|
106
|
+
.local_error('401',
|
|
107
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
108
|
+
' token or\nthe access token has expired. You should'\
|
|
109
|
+
' re-authenticate the user.\n",
|
|
110
|
+
UnauthorizedException)
|
|
111
|
+
.local_error('403',
|
|
112
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
113
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
114
|
+
' won't help here.\n",
|
|
115
|
+
ForbiddenException)
|
|
116
|
+
.local_error('429',
|
|
117
|
+
"The app has exceeded its rate limits.\n",
|
|
118
|
+
TooManyRequestsException))
|
|
119
|
+
.execute
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Get a list of shows saved in the current Spotify user's library. Optional
|
|
123
|
+
# parameters can be used to limit the number of shows returned.
|
|
124
|
+
# @param [Integer] limit Optional parameter: Example:20
|
|
125
|
+
# @param [Integer] offset Optional parameter: Example:0
|
|
126
|
+
# @return [PagingSavedShowObject] response from the API call
|
|
127
|
+
def get_users_saved_shows(limit: 20,
|
|
128
|
+
offset: 0)
|
|
129
|
+
new_api_call_builder
|
|
130
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
131
|
+
'/me/shows',
|
|
132
|
+
Server::DEFAULT)
|
|
133
|
+
.query_param(new_parameter(limit, key: 'limit'))
|
|
134
|
+
.query_param(new_parameter(offset, key: 'offset'))
|
|
135
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
136
|
+
.auth(Single.new('oauth_2_0')))
|
|
137
|
+
.response(new_response_handler
|
|
138
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
139
|
+
.deserialize_into(PagingSavedShowObject.method(:from_hash))
|
|
140
|
+
.is_api_response(true)
|
|
141
|
+
.local_error('401',
|
|
142
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
143
|
+
' token or\nthe access token has expired. You should'\
|
|
144
|
+
' re-authenticate the user.\n",
|
|
145
|
+
UnauthorizedException)
|
|
146
|
+
.local_error('403',
|
|
147
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
148
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
149
|
+
' won't help here.\n",
|
|
150
|
+
ForbiddenException)
|
|
151
|
+
.local_error('429',
|
|
152
|
+
"The app has exceeded its rate limits.\n",
|
|
153
|
+
TooManyRequestsException))
|
|
154
|
+
.execute
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# Save one or more shows to current Spotify user's library.
|
|
158
|
+
# @param [String] ids Required parameter: Example:
|
|
159
|
+
# @param [MeShowsRequest] body Optional parameter: Example:
|
|
160
|
+
# @return [void] response from the API call
|
|
161
|
+
def save_shows_user(ids,
|
|
162
|
+
body: nil)
|
|
163
|
+
new_api_call_builder
|
|
164
|
+
.request(new_request_builder(HttpMethodEnum::PUT,
|
|
165
|
+
'/me/shows',
|
|
166
|
+
Server::DEFAULT)
|
|
167
|
+
.query_param(new_parameter(ids, key: 'ids'))
|
|
168
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
169
|
+
.body_param(new_parameter(body))
|
|
170
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
171
|
+
.auth(Single.new('oauth_2_0')))
|
|
172
|
+
.response(new_response_handler
|
|
173
|
+
.is_response_void(true)
|
|
174
|
+
.is_api_response(true)
|
|
175
|
+
.local_error('401',
|
|
176
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
177
|
+
' token or\nthe access token has expired. You should'\
|
|
178
|
+
' re-authenticate the user.\n",
|
|
179
|
+
UnauthorizedException)
|
|
180
|
+
.local_error('403',
|
|
181
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
182
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
183
|
+
' won't help here.\n",
|
|
184
|
+
ForbiddenException)
|
|
185
|
+
.local_error('429',
|
|
186
|
+
"The app has exceeded its rate limits.\n",
|
|
187
|
+
TooManyRequestsException))
|
|
188
|
+
.execute
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# Delete one or more shows from current Spotify user's library.
|
|
192
|
+
# @param [String] ids Required parameter: Example:
|
|
193
|
+
# @param [String] market Optional parameter: Example:
|
|
194
|
+
# @param [MeShowsRequest] body Optional parameter: Example:
|
|
195
|
+
# @return [void] response from the API call
|
|
196
|
+
def remove_shows_user(ids,
|
|
197
|
+
market: nil,
|
|
198
|
+
body: nil)
|
|
199
|
+
new_api_call_builder
|
|
200
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
|
201
|
+
'/me/shows',
|
|
202
|
+
Server::DEFAULT)
|
|
203
|
+
.query_param(new_parameter(ids, key: 'ids'))
|
|
204
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
205
|
+
.query_param(new_parameter(market, key: 'market'))
|
|
206
|
+
.body_param(new_parameter(body))
|
|
207
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
208
|
+
.auth(Single.new('oauth_2_0')))
|
|
209
|
+
.response(new_response_handler
|
|
210
|
+
.is_response_void(true)
|
|
211
|
+
.is_api_response(true)
|
|
212
|
+
.local_error('401',
|
|
213
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
214
|
+
' token or\nthe access token has expired. You should'\
|
|
215
|
+
' re-authenticate the user.\n",
|
|
216
|
+
UnauthorizedException)
|
|
217
|
+
.local_error('403',
|
|
218
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
219
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
220
|
+
' won't help here.\n",
|
|
221
|
+
ForbiddenException)
|
|
222
|
+
.local_error('429',
|
|
223
|
+
"The app has exceeded its rate limits.\n",
|
|
224
|
+
TooManyRequestsException))
|
|
225
|
+
.execute
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# Check if one or more shows is already saved in the current Spotify user's
|
|
229
|
+
# library.
|
|
230
|
+
# @param [String] ids Required parameter: Example:
|
|
231
|
+
# @return [Array[TrueClass | FalseClass]] response from the API call
|
|
232
|
+
def check_users_saved_shows(ids)
|
|
233
|
+
new_api_call_builder
|
|
234
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
235
|
+
'/me/shows/contains',
|
|
236
|
+
Server::DEFAULT)
|
|
237
|
+
.query_param(new_parameter(ids, key: 'ids'))
|
|
238
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
239
|
+
.auth(Single.new('oauth_2_0')))
|
|
240
|
+
.response(new_response_handler
|
|
241
|
+
.deserializer(APIHelper.method(:deserialize_primitive_types))
|
|
242
|
+
.is_api_response(true)
|
|
243
|
+
.is_response_array(true)
|
|
244
|
+
.is_primitive_response(true)
|
|
245
|
+
.local_error('401',
|
|
246
|
+
"Bad or expired token. This can happen if the user revoked a'\
|
|
247
|
+
' token or\nthe access token has expired. You should'\
|
|
248
|
+
' re-authenticate the user.\n",
|
|
249
|
+
UnauthorizedException)
|
|
250
|
+
.local_error('403',
|
|
251
|
+
"Bad OAuth request (wrong consumer key, bad nonce, expired'\
|
|
252
|
+
'\ntimestamp...). Unfortunately, re-authenticating the user'\
|
|
253
|
+
' won't help here.\n",
|
|
254
|
+
ForbiddenException)
|
|
255
|
+
.local_error('429',
|
|
256
|
+
"The app has exceeded its rate limits.\n",
|
|
257
|
+
TooManyRequestsException))
|
|
258
|
+
.execute
|
|
259
|
+
end
|
|
260
|
+
end
|
|
261
|
+
end
|