spotifywebapiPython 1.0.91__py3-none-any.whl → 1.0.93__py3-none-any.whl
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.
Potentially problematic release.
This version of spotifywebapiPython might be problematic. Click here for more details.
- {spotifywebapiPython-1.0.91.dist-info → spotifywebapiPython-1.0.93.dist-info}/METADATA +1 -1
- {spotifywebapiPython-1.0.91.dist-info → spotifywebapiPython-1.0.93.dist-info}/RECORD +32 -32
- spotifywebapipython/const.py +1 -1
- spotifywebapipython/docs/__init__.html +34 -2
- spotifywebapipython/docs/index.html +2 -2
- spotifywebapipython/docs/search.js +1 -1
- spotifywebapipython/docs/spotifywebapiPython/const.html +3 -3
- spotifywebapipython/docs/spotifywebapiPython/saappmessages.html +20 -2
- spotifywebapipython/docs/spotifywebapiPython/sautils.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifyapierror.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifyapimessage.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifyauthtoken.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifyclient.html +524 -38
- spotifywebapipython/docs/spotifywebapiPython/spotifydiscovery.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifywebapiauthenticationerror.html +2 -2
- spotifywebapipython/docs/spotifywebapiPython/spotifywebapierror.html +2 -2
- spotifywebapipython/models/artistsimplified.py +4 -0
- spotifywebapipython/models/context.py +1 -3
- spotifywebapipython/models/device.py +3 -0
- spotifywebapipython/models/pageobject.py +2 -2
- spotifywebapipython/models/playlistsimplified.py +1 -1
- spotifywebapipython/models/spotifyconnectdevice.py +1 -0
- spotifywebapipython/models/spotifyconnectdevices.py +1 -0
- spotifywebapipython/models/tracksimplified.py +1 -1
- spotifywebapipython/models/zeroconfdiscoveryresult.py +2 -1
- spotifywebapipython/saappmessages.py +5 -0
- spotifywebapipython/spotifyclient.py +668 -285
- spotifywebapipython/zeroconfapi/zeroconfgetinfo.py +5 -0
- spotifywebapipython/zeroconfapi/zeroconfgetinfoalias.py +1 -0
- {spotifywebapiPython-1.0.91.dist-info → spotifywebapiPython-1.0.93.dist-info}/LICENSE +0 -0
- {spotifywebapiPython-1.0.91.dist-info → spotifywebapiPython-1.0.93.dist-info}/WHEEL +0 -0
- {spotifywebapiPython-1.0.91.dist-info → spotifywebapiPython-1.0.93.dist-info}/top_level.txt +0 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</title>
|
|
10
10
|
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612-2.021%201.25-.079.295.021.601.274.837.219.203.415.364.598.501-.667.304-1.243.698-1.311%201.179-.02.144-.022.507.393.787.213.144.395.26.564.365-1.285.521-1.361.96-1.381%201.126-.018.142-.011.496.427.746l.854.489c-.473.389-.971.914-.999%201.429-.018.278.095.532.316.713.675.556%201.231.721%201.653.721.059%200%20.104-.014.158-.02.207.707.641%201.64%201.513%201.64h.013c.8-.008%201.236-.345%201.462-.626.173-.216.268-.457.325-.692.424.195.93.374%201.372.374.151%200%20.294-.021.423-.068.732-.27.944-.704.993-1.021.009-.061.003-.119.002-.179.266.086.538.147.789.147.15%200%20.294-.021.423-.069.542-.2.797-.489.914-.754.237.147.478.258.704.288.106.014.205.021.296.021.356%200%20.595-.101.767-.229.438.435%201.094.992%201.656%201.067.106.014.205.021.296.021a1.56%201.56%200%200%200%20.323-.035c.17.575.453%201.289.866%201.605.358.273.665.362.914.362a.99.99%200%200%200%20.421-.093%201.03%201.03%200%200%200%20.245-.164c.168.428.39.846.68%201.068.358.273.665.362.913.362a.99.99%200%200%200%20.421-.093c.317-.148.512-.448.639-.762.251.157.495.257.726.257.127%200%20.25-.024.37-.071.427-.17.706-.617.841-1.314.022-.015.047-.022.068-.038.067-.051.133-.104.196-.159-.443%201.486-1.107%202.761-2.086%203.257zM8.66%209.925a.5.5%200%201%200-1%200c0%20.653-.818%201.205-1.787%201.205s-1.787-.552-1.787-1.205a.5.5%200%201%200-1%200c0%201.216%201.25%202.205%202.787%202.205s2.787-.989%202.787-2.205zm4.4%2015.965l-.208.097c-2.661%201.258-4.708%201.436-6.086.527-1.542-1.017-1.88-3.19-1.844-4.198a.4.4%200%200%200-.385-.414c-.242-.029-.406.164-.414.385-.046%201.249.367%203.686%202.202%204.896.708.467%201.547.7%202.51.7%201.248%200%202.706-.392%204.362-1.174l.185-.086a.4.4%200%200%200%20.205-.527c-.089-.204-.326-.291-.527-.206zM9.547%202.292c.093.077.205.114.317.114a.5.5%200%200%200%20.318-.886L8.817.397a.5.5%200%200%200-.703.068.5.5%200%200%200%20.069.703l1.364%201.124zm-7.661-.065c.086%200%20.173-.022.253-.068l1.523-.893a.5.5%200%200%200-.506-.863l-1.523.892a.5.5%200%200%200-.179.685c.094.158.261.247.432.247z%22%20transform%3D%22matrix%28-1%200%200%201%2058%200%29%22%20fill%3D%22%233bb300%22/%3E%3Cpath%20d%3D%22M.3%2021.86V10.18q0-.46.02-.68.04-.22.18-.5.28-.54%201.34-.54%201.06%200%201.42.28.38.26.44.78.76-1.04%202.38-1.04%201.64%200%203.1%201.54%201.46%201.54%201.46%203.58%200%202.04-1.46%203.58-1.44%201.54-3.08%201.54-1.64%200-2.38-.92v4.04q0%20.46-.04.68-.02.22-.18.5-.14.3-.5.42-.36.12-.98.12-.62%200-1-.12-.36-.12-.52-.4-.14-.28-.18-.5-.02-.22-.02-.68zm3.96-9.42q-.46.54-.46%201.18%200%20.64.46%201.18.48.52%201.2.52.74%200%201.24-.52.52-.52.52-1.18%200-.66-.48-1.18-.48-.54-1.26-.54-.76%200-1.22.54zm14.741-8.36q.16-.3.54-.42.38-.12%201-.12.64%200%201.02.12.38.12.52.42.16.3.18.54.04.22.04.68v11.94q0%20.46-.04.7-.02.22-.18.5-.3.54-1.7.54-1.38%200-1.54-.98-.84.96-2.34.96-1.8%200-3.28-1.56-1.48-1.58-1.48-3.66%200-2.1%201.48-3.68%201.5-1.58%203.28-1.58%201.48%200%202.3%201v-4.2q0-.46.02-.68.04-.24.18-.52zm-3.24%2010.86q.52.54%201.26.54.74%200%201.22-.54.5-.54.5-1.18%200-.66-.48-1.22-.46-.56-1.26-.56-.8%200-1.28.56-.48.54-.48%201.2%200%20.66.52%201.2zm7.833-1.2q0-2.4%201.68-3.96%201.68-1.56%203.84-1.56%202.16%200%203.82%201.56%201.66%201.54%201.66%203.94%200%201.66-.86%202.96-.86%201.28-2.1%201.9-1.22.6-2.54.6-1.32%200-2.56-.64-1.24-.66-2.1-1.92-.84-1.28-.84-2.88zm4.18%201.44q.64.48%201.3.48.66%200%201.32-.5.66-.5.66-1.48%200-.98-.62-1.46-.62-.48-1.34-.48-.72%200-1.34.5-.62.5-.62%201.48%200%20.96.64%201.46zm11.412-1.44q0%20.84.56%201.32.56.46%201.18.46.64%200%201.18-.36.56-.38.9-.38.6%200%201.46%201.06.46.58.46%201.04%200%20.76-1.1%201.42-1.14.8-2.8.8-1.86%200-3.58-1.34-.82-.64-1.34-1.7-.52-1.08-.52-2.36%200-1.3.52-2.34.52-1.06%201.34-1.7%201.66-1.32%203.54-1.32.76%200%201.48.22.72.2%201.06.4l.32.2q.36.24.56.38.52.4.52.92%200%20.5-.42%201.14-.72%201.1-1.38%201.1-.38%200-1.08-.44-.36-.34-1.04-.34-.66%200-1.24.48-.58.48-.58%201.34z%22%20fill%3D%22green%22/%3E%3C/svg%3E"/>
|
|
11
11
|
<!-- build env - Package Name = "spotifywebapiPython" -->
|
|
12
|
-
<!-- build env - Package Version = "1.0.
|
|
12
|
+
<!-- build env - Package Version = "1.0.93" -->
|
|
13
13
|
<!-- pdoc module.modulename = "spotifywebapipython.spotifyclient" -->
|
|
14
14
|
<!-- pdoc module.is_package = "False" -->
|
|
15
15
|
<!-- pdoc root_module_name = "None" -->
|
|
@@ -249,6 +249,24 @@
|
|
|
249
249
|
<li>
|
|
250
250
|
<a class="function" href="#SpotifyClient.GetPlayerNowPlaying">GetPlayerNowPlaying</a>
|
|
251
251
|
</li>
|
|
252
|
+
<li>
|
|
253
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingAlbumUri">GetPlayerNowPlayingAlbumUri</a>
|
|
254
|
+
</li>
|
|
255
|
+
<li>
|
|
256
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingArtistUri">GetPlayerNowPlayingArtistUri</a>
|
|
257
|
+
</li>
|
|
258
|
+
<li>
|
|
259
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingAudiobookUri">GetPlayerNowPlayingAudiobookUri</a>
|
|
260
|
+
</li>
|
|
261
|
+
<li>
|
|
262
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingPlaylistUri">GetPlayerNowPlayingPlaylistUri</a>
|
|
263
|
+
</li>
|
|
264
|
+
<li>
|
|
265
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingShowUri">GetPlayerNowPlayingShowUri</a>
|
|
266
|
+
</li>
|
|
267
|
+
<li>
|
|
268
|
+
<a class="function" href="#SpotifyClient.GetPlayerNowPlayingUri">GetPlayerNowPlayingUri</a>
|
|
269
|
+
</li>
|
|
252
270
|
<li>
|
|
253
271
|
<a class="function" href="#SpotifyClient.GetPlayerPlaybackState">GetPlayerPlaybackState</a>
|
|
254
272
|
</li>
|
|
@@ -464,7 +482,7 @@
|
|
|
464
482
|
|
|
465
483
|
<footer class="footertext">
|
|
466
484
|
spotifywebapiPython</br>
|
|
467
|
-
Version 1.0.
|
|
485
|
+
Version 1.0.93</br>
|
|
468
486
|
<a href="https://developer.spotify.com/documentation/web-api" target="_blank">
|
|
469
487
|
<img src="../spotifywebapipython.ico" alt="brand icon" style="width:32px; height:32px; padding:4px;"/>
|
|
470
488
|
A Spotify Web Api Client
|
|
@@ -2243,7 +2261,7 @@ and the response contains error information.</li>
|
|
|
2243
2261
|
<div class="attr function">
|
|
2244
2262
|
|
|
2245
2263
|
<span class="def">def</span>
|
|
2246
|
-
<span class="name">FollowPlaylist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">public</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
|
|
2264
|
+
<span class="name">FollowPlaylist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>, </span><span class="param"><span class="n">public</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
|
|
2247
2265
|
|
|
2248
2266
|
|
|
2249
2267
|
</div>
|
|
@@ -2257,7 +2275,8 @@ and the response contains error information.</li>
|
|
|
2257
2275
|
|
|
2258
2276
|
<ul>
|
|
2259
2277
|
<li><strong>playlistId (str):</strong> The Spotify ID of the playlist. <br />
|
|
2260
|
-
Example: <code>3cEYpjA9oz9GiPac4AsH4n</code
|
|
2278
|
+
Example: <code>3cEYpjA9oz9GiPac4AsH4n</code>
|
|
2279
|
+
If null, the currently playing playlist uri id value is used.</li>
|
|
2261
2280
|
<li><strong>public (bool):</strong> If true the playlist will be included in user's public playlists, if false it
|
|
2262
2281
|
will remain private. <br />
|
|
2263
2282
|
Default = True. </li>
|
|
@@ -2307,6 +2326,12 @@ and the response contains error information.</li>
|
|
|
2307
2326
|
|
|
2308
2327
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Success - playlist is now followed'</span><span class="p">)</span>
|
|
2309
2328
|
|
|
2329
|
+
<span class="c1"># add the current user as a follower of the nowplaying playlist.</span>
|
|
2330
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Following nowplaying playlist ...'</span><span class="p">)</span>
|
|
2331
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">FollowPlaylist</span><span class="p">()</span>
|
|
2332
|
+
|
|
2333
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Success - nowplaying playlist is now followed'</span><span class="p">)</span>
|
|
2334
|
+
|
|
2310
2335
|
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
2311
2336
|
|
|
2312
2337
|
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
@@ -2398,7 +2423,7 @@ and the response contains error information.</li>
|
|
|
2398
2423
|
<div class="attr function">
|
|
2399
2424
|
|
|
2400
2425
|
<span class="def">def</span>
|
|
2401
|
-
<span class="name">GetAlbum</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">albumId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/album.html#Album">spotifywebapipython.models.album.Album</a></span>:</span></span>
|
|
2426
|
+
<span class="name">GetAlbum</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">albumId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/album.html#Album">spotifywebapipython.models.album.Album</a></span>:</span></span>
|
|
2402
2427
|
|
|
2403
2428
|
|
|
2404
2429
|
</div>
|
|
@@ -2410,7 +2435,9 @@ and the response contains error information.</li>
|
|
|
2410
2435
|
|
|
2411
2436
|
<ul>
|
|
2412
2437
|
<li><strong>albumId (str):</strong> The Spotify ID of the album. <br />
|
|
2413
|
-
Example: <code>6vc9OTcyd3hyzabCmsdnwE</code
|
|
2438
|
+
Example: <code>6vc9OTcyd3hyzabCmsdnwE</code>
|
|
2439
|
+
If null, the currently playing album uri id value is used; a Spotify Free or Premium account
|
|
2440
|
+
is required to correctly read the currently playing context.</li>
|
|
2414
2441
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
2415
2442
|
is available in that market will be returned. If a valid user access token is specified
|
|
2416
2443
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -2477,6 +2504,49 @@ and the response contains error information.</li>
|
|
|
2477
2504
|
</code></pre>
|
|
2478
2505
|
</div>
|
|
2479
2506
|
|
|
2507
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
2508
|
+
|
|
2509
|
+
<div class="pdoc-code codehilite">
|
|
2510
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
2511
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
2512
|
+
|
|
2513
|
+
<span class="k">try</span><span class="p">:</span>
|
|
2514
|
+
|
|
2515
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
2516
|
+
|
|
2517
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
2518
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
2519
|
+
|
|
2520
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
2521
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
2522
|
+
|
|
2523
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
2524
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
2525
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
2526
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
2527
|
+
|
|
2528
|
+
<span class="c1"># get Spotify catalog information for nowplaying album.</span>
|
|
2529
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for nowplaying Album ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
2530
|
+
<span class="n">album</span><span class="p">:</span><span class="n">Album</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetAlbum</span><span class="p">()</span>
|
|
2531
|
+
|
|
2532
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">album</span><span class="p">))</span>
|
|
2533
|
+
|
|
2534
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Artists:'</span><span class="p">)</span>
|
|
2535
|
+
<span class="n">artist</span><span class="p">:</span><span class="n">ArtistSimplified</span>
|
|
2536
|
+
<span class="k">for</span> <span class="n">artist</span> <span class="ow">in</span> <span class="n">album</span><span class="o">.</span><span class="n">Artists</span><span class="p">:</span>
|
|
2537
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">artist</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">artist</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
2538
|
+
|
|
2539
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Tracks:'</span><span class="p">)</span>
|
|
2540
|
+
<span class="n">track</span><span class="p">:</span><span class="n">TrackSaved</span>
|
|
2541
|
+
<span class="k">for</span> <span class="n">track</span> <span class="ow">in</span> <span class="n">album</span><span class="o">.</span><span class="n">Tracks</span><span class="o">.</span><span class="n">Items</span><span class="p">:</span>
|
|
2542
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">track</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">track</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
2543
|
+
|
|
2544
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
2545
|
+
|
|
2546
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
2547
|
+
</code></pre>
|
|
2548
|
+
</div>
|
|
2549
|
+
|
|
2480
2550
|
<p></details></p>
|
|
2481
2551
|
</div>
|
|
2482
2552
|
|
|
@@ -2882,7 +2952,7 @@ and the response contains error information.</li>
|
|
|
2882
2952
|
<div class="attr function">
|
|
2883
2953
|
|
|
2884
2954
|
<span class="def">def</span>
|
|
2885
|
-
<span class="name">GetAlbumTracks</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">albumId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/trackpagesimplified.html#TrackPageSimplified">spotifywebapipython.models.trackpagesimplified.TrackPageSimplified</a></span>:</span></span>
|
|
2955
|
+
<span class="name">GetAlbumTracks</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">albumId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/trackpagesimplified.html#TrackPageSimplified">spotifywebapipython.models.trackpagesimplified.TrackPageSimplified</a></span>:</span></span>
|
|
2886
2956
|
|
|
2887
2957
|
|
|
2888
2958
|
</div>
|
|
@@ -2896,7 +2966,9 @@ and the response contains error information.</li>
|
|
|
2896
2966
|
|
|
2897
2967
|
<ul>
|
|
2898
2968
|
<li><strong>albumId (str):</strong> The Spotify ID of the album. <br />
|
|
2899
|
-
Example: <code>6vc9OTcyd3hyzabCmsdnwE</code
|
|
2969
|
+
Example: <code>6vc9OTcyd3hyzabCmsdnwE</code>
|
|
2970
|
+
If null, the currently playing album uri id value is used; a Spotify Free or Premium account
|
|
2971
|
+
is required to correctly read the currently playing context.</li>
|
|
2900
2972
|
<li><strong>limit (int):</strong> The maximum number of items to return in a page of items when manual paging is used. <br />
|
|
2901
2973
|
Default: 20, Range: 1 to 50. <br />
|
|
2902
2974
|
See the <code>limitTotal</code> argument for automatic paging option. </li>
|
|
@@ -3038,7 +3110,7 @@ and the response contains error information.</li>
|
|
|
3038
3110
|
<div class="attr function">
|
|
3039
3111
|
|
|
3040
3112
|
<span class="def">def</span>
|
|
3041
|
-
<span class="name">GetArtist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="n"><a href="models/artist.html#Artist">spotifywebapipython.models.artist.Artist</a></span>:</span></span>
|
|
3113
|
+
<span class="name">GetArtist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/artist.html#Artist">spotifywebapipython.models.artist.Artist</a></span>:</span></span>
|
|
3042
3114
|
|
|
3043
3115
|
|
|
3044
3116
|
</div>
|
|
@@ -3050,7 +3122,9 @@ and the response contains error information.</li>
|
|
|
3050
3122
|
|
|
3051
3123
|
<ul>
|
|
3052
3124
|
<li><strong>artistId (str):</strong> The Spotify ID of the artist. <br />
|
|
3053
|
-
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code
|
|
3125
|
+
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code>
|
|
3126
|
+
If null, the currently playing artist uri id value is used; a Spotify Free or Premium account
|
|
3127
|
+
is required to correctly read the currently playing context.</li>
|
|
3054
3128
|
</ul>
|
|
3055
3129
|
|
|
3056
3130
|
<h6 id="returns">Returns:</h6>
|
|
@@ -3100,6 +3174,39 @@ and the response contains error information.</li>
|
|
|
3100
3174
|
</code></pre>
|
|
3101
3175
|
</div>
|
|
3102
3176
|
|
|
3177
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
3178
|
+
|
|
3179
|
+
<div class="pdoc-code codehilite">
|
|
3180
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
3181
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
3182
|
+
|
|
3183
|
+
<span class="k">try</span><span class="p">:</span>
|
|
3184
|
+
|
|
3185
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
3186
|
+
|
|
3187
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
3188
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
3189
|
+
|
|
3190
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
3191
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
3192
|
+
|
|
3193
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
3194
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
3195
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
3196
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
3197
|
+
|
|
3198
|
+
<span class="c1"># get Spotify catalog information for the nowplaying artist.</span>
|
|
3199
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for nowplaying Artist ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
3200
|
+
<span class="n">artist</span><span class="p">:</span><span class="n">Artist</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetArtist</span><span class="p">()</span>
|
|
3201
|
+
|
|
3202
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">artist</span><span class="p">))</span>
|
|
3203
|
+
|
|
3204
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
3205
|
+
|
|
3206
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
3207
|
+
</code></pre>
|
|
3208
|
+
</div>
|
|
3209
|
+
|
|
3103
3210
|
<p></details></p>
|
|
3104
3211
|
</div>
|
|
3105
3212
|
|
|
@@ -3109,7 +3216,7 @@ and the response contains error information.</li>
|
|
|
3109
3216
|
<div class="attr function">
|
|
3110
3217
|
|
|
3111
3218
|
<span class="def">def</span>
|
|
3112
|
-
<span class="name">GetArtistAlbums</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">include_groups</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'album'</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">sortResult</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="n"><a href="models/albumpagesimplified.html#AlbumPageSimplified">spotifywebapipython.models.albumpagesimplified.AlbumPageSimplified</a></span>:</span></span>
|
|
3219
|
+
<span class="name">GetArtistAlbums</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">include_groups</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'album'</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">sortResult</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="n"><a href="models/albumpagesimplified.html#AlbumPageSimplified">spotifywebapipython.models.albumpagesimplified.AlbumPageSimplified</a></span>:</span></span>
|
|
3113
3220
|
|
|
3114
3221
|
|
|
3115
3222
|
</div>
|
|
@@ -3121,7 +3228,9 @@ and the response contains error information.</li>
|
|
|
3121
3228
|
|
|
3122
3229
|
<ul>
|
|
3123
3230
|
<li><strong>artistId (str):</strong> The Spotify ID of the artist. <br />
|
|
3124
|
-
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code
|
|
3231
|
+
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code>
|
|
3232
|
+
If null, the currently playing artist uri id value is used; a Spotify Free or Premium account
|
|
3233
|
+
is required to correctly read the currently playing context.</li>
|
|
3125
3234
|
<li><strong>include_groups (str):</strong> A comma-separated list of keywords that will be used to filter the response. <br />
|
|
3126
3235
|
If not supplied, all album types will be returned. <br />
|
|
3127
3236
|
Valid values are: <code>album</code>, <code>single</code>, <code>appears_on</code>, <code>compilation</code> <br />
|
|
@@ -3268,7 +3377,7 @@ and the response contains error information.</li>
|
|
|
3268
3377
|
<div class="attr function">
|
|
3269
3378
|
|
|
3270
3379
|
<span class="def">def</span>
|
|
3271
|
-
<span class="name">GetArtistInfo</span><span class="signature pdoc-code
|
|
3380
|
+
<span class="name">GetArtistInfo</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n">spotifywebapipython</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">artistinfo</span><span class="o">.</span><span class="n">ArtistInfo</span>:</span></span>
|
|
3272
3381
|
|
|
3273
3382
|
|
|
3274
3383
|
</div>
|
|
@@ -3281,7 +3390,9 @@ specified Spotify artist ID.</p>
|
|
|
3281
3390
|
|
|
3282
3391
|
<ul>
|
|
3283
3392
|
<li><strong>artistId (str):</strong> The Spotify ID of the artist. <br />
|
|
3284
|
-
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code
|
|
3393
|
+
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code>
|
|
3394
|
+
If null, the currently playing artist uri id value is used; a Spotify Free or Premium account
|
|
3395
|
+
is required to correctly read the currently playing context.</li>
|
|
3285
3396
|
</ul>
|
|
3286
3397
|
|
|
3287
3398
|
<h6 id="returns">Returns:</h6>
|
|
@@ -3339,7 +3450,7 @@ and the response contains error information.</li>
|
|
|
3339
3450
|
<div class="attr function">
|
|
3340
3451
|
|
|
3341
3452
|
<span class="def">def</span>
|
|
3342
|
-
<span class="name">GetArtistRelatedArtists</span><span class="signature pdoc-code
|
|
3453
|
+
<span class="name">GetArtistRelatedArtists</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="nb">list</span><span class="p">[</span><span class="n"><a href="models/artist.html#Artist">spotifywebapipython.models.artist.Artist</a></span><span class="p">]</span>:</span></span>
|
|
3343
3454
|
|
|
3344
3455
|
|
|
3345
3456
|
</div>
|
|
@@ -3352,7 +3463,9 @@ Similarity is based on analysis of the Spotify community's listening history.</p
|
|
|
3352
3463
|
|
|
3353
3464
|
<ul>
|
|
3354
3465
|
<li><strong>artistId (str):</strong> The Spotify ID of the artist. <br />
|
|
3355
|
-
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code
|
|
3466
|
+
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code>
|
|
3467
|
+
If null, the currently playing artist uri id value is used; a Spotify Free or Premium account
|
|
3468
|
+
is required to correctly read the currently playing context.</li>
|
|
3356
3469
|
</ul>
|
|
3357
3470
|
|
|
3358
3471
|
<h6 id="returns">Returns:</h6>
|
|
@@ -3646,7 +3759,7 @@ and the response contains error information.</li>
|
|
|
3646
3759
|
<div class="attr function">
|
|
3647
3760
|
|
|
3648
3761
|
<span class="def">def</span>
|
|
3649
|
-
<span class="name">GetArtistTopTracks</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="nb">list</span><span class="p">[</span><span class="n"><a href="models/track.html#Track">spotifywebapipython.models.track.Track</a></span><span class="p">]</span>:</span></span>
|
|
3762
|
+
<span class="name">GetArtistTopTracks</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">artistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="nb">list</span><span class="p">[</span><span class="n"><a href="models/track.html#Track">spotifywebapipython.models.track.Track</a></span><span class="p">]</span>:</span></span>
|
|
3650
3763
|
|
|
3651
3764
|
|
|
3652
3765
|
</div>
|
|
@@ -3658,7 +3771,9 @@ and the response contains error information.</li>
|
|
|
3658
3771
|
|
|
3659
3772
|
<ul>
|
|
3660
3773
|
<li><strong>artistId (str):</strong> The Spotify ID of the artist. <br />
|
|
3661
|
-
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code
|
|
3774
|
+
Example: <code>6APm8EjxOHSYM5B4i3vT3q</code>
|
|
3775
|
+
If null, the currently playing artist uri id value is used; a Spotify Free or Premium account
|
|
3776
|
+
is required to correctly read the currently playing context.</li>
|
|
3662
3777
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
3663
3778
|
is available in that market will be returned. If a valid user access token is specified
|
|
3664
3779
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -3728,7 +3843,7 @@ and the response contains error information.</li>
|
|
|
3728
3843
|
<div class="attr function">
|
|
3729
3844
|
|
|
3730
3845
|
<span class="def">def</span>
|
|
3731
|
-
<span class="name">GetAudiobook</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">audiobookId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/audiobook.html#Audiobook">spotifywebapipython.models.audiobook.Audiobook</a></span>:</span></span>
|
|
3846
|
+
<span class="name">GetAudiobook</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">audiobookId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/audiobook.html#Audiobook">spotifywebapipython.models.audiobook.Audiobook</a></span>:</span></span>
|
|
3732
3847
|
|
|
3733
3848
|
|
|
3734
3849
|
</div>
|
|
@@ -3742,7 +3857,9 @@ and the response contains error information.</li>
|
|
|
3742
3857
|
|
|
3743
3858
|
<ul>
|
|
3744
3859
|
<li><strong>audiobookId (str):</strong> The Spotify ID for the audiobook.
|
|
3745
|
-
Example: <code>74aydHJKgYz3AIq3jjBSv1</code
|
|
3860
|
+
Example: <code>74aydHJKgYz3AIq3jjBSv1</code>
|
|
3861
|
+
If null, the currently playing audiobook uri id value is used; a Spotify Free or Premium account
|
|
3862
|
+
is required to correctly read the currently playing context.</li>
|
|
3746
3863
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
3747
3864
|
is available in that market will be returned. If a valid user access token is specified
|
|
3748
3865
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -3834,6 +3951,66 @@ and the response contains error information.</li>
|
|
|
3834
3951
|
</code></pre>
|
|
3835
3952
|
</div>
|
|
3836
3953
|
|
|
3954
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
3955
|
+
|
|
3956
|
+
<div class="pdoc-code codehilite">
|
|
3957
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
3958
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
3959
|
+
|
|
3960
|
+
<span class="k">try</span><span class="p">:</span>
|
|
3961
|
+
|
|
3962
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
3963
|
+
|
|
3964
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
3965
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
3966
|
+
|
|
3967
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
3968
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
3969
|
+
|
|
3970
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
3971
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
3972
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
3973
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
3974
|
+
|
|
3975
|
+
<span class="c1"># get Spotify catalog information for the nowplaying audiobook.</span>
|
|
3976
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for nowplaying audiobook ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
3977
|
+
<span class="n">audiobook</span><span class="p">:</span><span class="n">Audiobook</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetAudiobook</span><span class="p">()</span>
|
|
3978
|
+
|
|
3979
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">audiobook</span><span class="p">))</span>
|
|
3980
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
3981
|
+
|
|
3982
|
+
<span class="c1"># prepare to retrieve all chapters.</span>
|
|
3983
|
+
<span class="n">pageObj</span><span class="p">:</span><span class="n">ChapterPageSimplified</span> <span class="o">=</span> <span class="n">audiobook</span><span class="o">.</span><span class="n">Chapters</span>
|
|
3984
|
+
|
|
3985
|
+
<span class="c1"># handle pagination, as spotify limits us to a set # of items returned per response.</span>
|
|
3986
|
+
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
|
3987
|
+
|
|
3988
|
+
<span class="c1"># display paging details.</span>
|
|
3989
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">pageObj</span><span class="p">))</span>
|
|
3990
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
3991
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'Chapters in this page of results:'</span><span class="p">)</span>
|
|
3992
|
+
|
|
3993
|
+
<span class="c1"># display chapter details.</span>
|
|
3994
|
+
<span class="n">chapterSimplified</span><span class="p">:</span><span class="n">ChapterSimplified</span>
|
|
3995
|
+
<span class="k">for</span> <span class="n">chapterSimplified</span> <span class="ow">in</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Items</span><span class="p">:</span>
|
|
3996
|
+
|
|
3997
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">chapterSimplified</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">chapterSimplified</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
3998
|
+
|
|
3999
|
+
<span class="c1"># anymore page results?</span>
|
|
4000
|
+
<span class="k">if</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Next</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
4001
|
+
<span class="c1"># no - all pages were processed.</span>
|
|
4002
|
+
<span class="k">break</span>
|
|
4003
|
+
<span class="k">else</span><span class="p">:</span>
|
|
4004
|
+
<span class="c1"># yes - retrieve the next page of results.</span>
|
|
4005
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting next page of </span><span class="si">%d</span><span class="s1"> items ...</span><span class="se">\n</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">))</span>
|
|
4006
|
+
<span class="n">pageObj</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetAudiobookChapters</span><span class="p">(</span><span class="n">audiobook</span><span class="o">.</span><span class="n">Id</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Offset</span> <span class="o">+</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">)</span>
|
|
4007
|
+
|
|
4008
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
4009
|
+
|
|
4010
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
4011
|
+
</code></pre>
|
|
4012
|
+
</div>
|
|
4013
|
+
|
|
3837
4014
|
<p></details></p>
|
|
3838
4015
|
</div>
|
|
3839
4016
|
|
|
@@ -3843,7 +4020,7 @@ and the response contains error information.</li>
|
|
|
3843
4020
|
<div class="attr function">
|
|
3844
4021
|
|
|
3845
4022
|
<span class="def">def</span>
|
|
3846
|
-
<span class="name">GetAudiobookChapters</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">audiobookId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/chapterpagesimplified.html#ChapterPageSimplified">spotifywebapipython.models.chapterpagesimplified.ChapterPageSimplified</a></span>:</span></span>
|
|
4023
|
+
<span class="name">GetAudiobookChapters</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">audiobookId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/chapterpagesimplified.html#ChapterPageSimplified">spotifywebapipython.models.chapterpagesimplified.ChapterPageSimplified</a></span>:</span></span>
|
|
3847
4024
|
|
|
3848
4025
|
|
|
3849
4026
|
</div>
|
|
@@ -3857,7 +4034,9 @@ and the response contains error information.</li>
|
|
|
3857
4034
|
|
|
3858
4035
|
<ul>
|
|
3859
4036
|
<li><strong>audiobookId (str):</strong> The Spotify ID for the audiobook.
|
|
3860
|
-
Example: <code>74aydHJKgYz3AIq3jjBSv1</code
|
|
4037
|
+
Example: <code>74aydHJKgYz3AIq3jjBSv1</code>
|
|
4038
|
+
If null, the currently playing audiobook uri id value is used; a Spotify Free or Premium account
|
|
4039
|
+
is required to correctly read the currently playing context.</li>
|
|
3861
4040
|
<li><strong>limit (int):</strong> The maximum number of items to return in a page of items when manual paging is used. <br />
|
|
3862
4041
|
Default: 20, Range: 1 to 50. <br />
|
|
3863
4042
|
See the <code>limitTotal</code> argument for automatic paging option. </li>
|
|
@@ -5017,7 +5196,7 @@ and the response contains error information.</li>
|
|
|
5017
5196
|
<div class="attr function">
|
|
5018
5197
|
|
|
5019
5198
|
<span class="def">def</span>
|
|
5020
|
-
<span class="name">GetEpisode</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">episodeId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/episode.html#Episode">spotifywebapipython.models.episode.Episode</a></span>:</span></span>
|
|
5199
|
+
<span class="name">GetEpisode</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">episodeId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/episode.html#Episode">spotifywebapipython.models.episode.Episode</a></span>:</span></span>
|
|
5021
5200
|
|
|
5022
5201
|
|
|
5023
5202
|
</div>
|
|
@@ -5031,7 +5210,9 @@ and the response contains error information.</li>
|
|
|
5031
5210
|
|
|
5032
5211
|
<ul>
|
|
5033
5212
|
<li><strong>episodeId (str):</strong> The Spotify ID for the episode.
|
|
5034
|
-
Example: <code>512ojhOuo1ktJprKbVcKyQ</code
|
|
5213
|
+
Example: <code>512ojhOuo1ktJprKbVcKyQ</code>
|
|
5214
|
+
If null, the currently playing episode uri id value is used; a Spotify Free or Premium account
|
|
5215
|
+
is required to correctly read the currently playing context.</li>
|
|
5035
5216
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
5036
5217
|
is available in that market will be returned. If a valid user access token is specified
|
|
5037
5218
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -6317,6 +6498,152 @@ and the response contains error information.</li>
|
|
|
6317
6498
|
</div>
|
|
6318
6499
|
|
|
6319
6500
|
|
|
6501
|
+
</div>
|
|
6502
|
+
<div id="SpotifyClient.GetPlayerNowPlayingAlbumUri" class="classattr">
|
|
6503
|
+
<div class="attr function">
|
|
6504
|
+
|
|
6505
|
+
<span class="def">def</span>
|
|
6506
|
+
<span class="name">GetPlayerNowPlayingAlbumUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6507
|
+
|
|
6508
|
+
|
|
6509
|
+
</div>
|
|
6510
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingAlbumUri"></a>
|
|
6511
|
+
|
|
6512
|
+
<div class="docstring"><p>Returns the album uri value of the currently playing media if something is
|
|
6513
|
+
playing; otherwise, null is returned.</p>
|
|
6514
|
+
|
|
6515
|
+
<h6 id="raises">Raises:</h6>
|
|
6516
|
+
|
|
6517
|
+
<ul>
|
|
6518
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6519
|
+
If nowplaying context does not contain an album reference.</li>
|
|
6520
|
+
</ul>
|
|
6521
|
+
</div>
|
|
6522
|
+
|
|
6523
|
+
|
|
6524
|
+
</div>
|
|
6525
|
+
<div id="SpotifyClient.GetPlayerNowPlayingArtistUri" class="classattr">
|
|
6526
|
+
<div class="attr function">
|
|
6527
|
+
|
|
6528
|
+
<span class="def">def</span>
|
|
6529
|
+
<span class="name">GetPlayerNowPlayingArtistUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6530
|
+
|
|
6531
|
+
|
|
6532
|
+
</div>
|
|
6533
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingArtistUri"></a>
|
|
6534
|
+
|
|
6535
|
+
<div class="docstring"><p>Returns the artist uri value of the currently playing media if something is
|
|
6536
|
+
playing; otherwise, null is returned.</p>
|
|
6537
|
+
|
|
6538
|
+
<h6 id="raises">Raises:</h6>
|
|
6539
|
+
|
|
6540
|
+
<ul>
|
|
6541
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6542
|
+
If nowplaying context does not contain an artist reference.</li>
|
|
6543
|
+
</ul>
|
|
6544
|
+
</div>
|
|
6545
|
+
|
|
6546
|
+
|
|
6547
|
+
</div>
|
|
6548
|
+
<div id="SpotifyClient.GetPlayerNowPlayingAudiobookUri" class="classattr">
|
|
6549
|
+
<div class="attr function">
|
|
6550
|
+
|
|
6551
|
+
<span class="def">def</span>
|
|
6552
|
+
<span class="name">GetPlayerNowPlayingAudiobookUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6553
|
+
|
|
6554
|
+
|
|
6555
|
+
</div>
|
|
6556
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingAudiobookUri"></a>
|
|
6557
|
+
|
|
6558
|
+
<div class="docstring"><p>Returns the audiobook uri value of the currently playing media if something is
|
|
6559
|
+
playing; otherwise, null is returned.</p>
|
|
6560
|
+
|
|
6561
|
+
<h6 id="raises">Raises:</h6>
|
|
6562
|
+
|
|
6563
|
+
<ul>
|
|
6564
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6565
|
+
If nowplaying context is not a audiobook chapter.</li>
|
|
6566
|
+
</ul>
|
|
6567
|
+
</div>
|
|
6568
|
+
|
|
6569
|
+
|
|
6570
|
+
</div>
|
|
6571
|
+
<div id="SpotifyClient.GetPlayerNowPlayingPlaylistUri" class="classattr">
|
|
6572
|
+
<div class="attr function">
|
|
6573
|
+
|
|
6574
|
+
<span class="def">def</span>
|
|
6575
|
+
<span class="name">GetPlayerNowPlayingPlaylistUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6576
|
+
|
|
6577
|
+
|
|
6578
|
+
</div>
|
|
6579
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingPlaylistUri"></a>
|
|
6580
|
+
|
|
6581
|
+
<div class="docstring"><p>Returns the playlist uri value of the currently playing media if something is
|
|
6582
|
+
playing; otherwise, null is returned.</p>
|
|
6583
|
+
|
|
6584
|
+
<h6 id="raises">Raises:</h6>
|
|
6585
|
+
|
|
6586
|
+
<ul>
|
|
6587
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6588
|
+
If nowplaying context is not a playlist.</li>
|
|
6589
|
+
</ul>
|
|
6590
|
+
</div>
|
|
6591
|
+
|
|
6592
|
+
|
|
6593
|
+
</div>
|
|
6594
|
+
<div id="SpotifyClient.GetPlayerNowPlayingShowUri" class="classattr">
|
|
6595
|
+
<div class="attr function">
|
|
6596
|
+
|
|
6597
|
+
<span class="def">def</span>
|
|
6598
|
+
<span class="name">GetPlayerNowPlayingShowUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6599
|
+
|
|
6600
|
+
|
|
6601
|
+
</div>
|
|
6602
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingShowUri"></a>
|
|
6603
|
+
|
|
6604
|
+
<div class="docstring"><p>Returns the show uri value of the currently playing media if something is
|
|
6605
|
+
playing; otherwise, null is returned.</p>
|
|
6606
|
+
|
|
6607
|
+
<h6 id="raises">Raises:</h6>
|
|
6608
|
+
|
|
6609
|
+
<ul>
|
|
6610
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6611
|
+
If nowplaying context is not a show episode.</li>
|
|
6612
|
+
</ul>
|
|
6613
|
+
</div>
|
|
6614
|
+
|
|
6615
|
+
|
|
6616
|
+
</div>
|
|
6617
|
+
<div id="SpotifyClient.GetPlayerNowPlayingUri" class="classattr">
|
|
6618
|
+
<div class="attr function">
|
|
6619
|
+
|
|
6620
|
+
<span class="def">def</span>
|
|
6621
|
+
<span class="name">GetPlayerNowPlayingUri</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span>
|
|
6622
|
+
|
|
6623
|
+
|
|
6624
|
+
</div>
|
|
6625
|
+
<a class="headerlink" href="#SpotifyClient.GetPlayerNowPlayingUri"></a>
|
|
6626
|
+
|
|
6627
|
+
<div class="docstring"><p>Returns the uri value of the currently playing media type if something is
|
|
6628
|
+
playing; otherwise, null is returned.</p>
|
|
6629
|
+
|
|
6630
|
+
<h6 id="arguments">Arguments:</h6>
|
|
6631
|
+
|
|
6632
|
+
<ul>
|
|
6633
|
+
<li><strong>additionalTypes (str):</strong> An item type that your client supports besides the default track type. <br />
|
|
6634
|
+
Valid types are: <code>track</code> and <code>episode</code>. <br />
|
|
6635
|
+
Specify <code>episode</code> to get podcast track information. </li>
|
|
6636
|
+
</ul>
|
|
6637
|
+
|
|
6638
|
+
<h6 id="raises">Raises:</h6>
|
|
6639
|
+
|
|
6640
|
+
<ul>
|
|
6641
|
+
<li><strong>SpotifyApiError:</strong> If current user does not have a Spotify free or premium level account. <br />
|
|
6642
|
+
If nowplaying item is not of the specified <code>additionalType</code>.</li>
|
|
6643
|
+
</ul>
|
|
6644
|
+
</div>
|
|
6645
|
+
|
|
6646
|
+
|
|
6320
6647
|
</div>
|
|
6321
6648
|
<div id="SpotifyClient.GetPlayerPlaybackState" class="classattr">
|
|
6322
6649
|
<div class="attr function">
|
|
@@ -6693,7 +7020,7 @@ and the response contains error information.</li>
|
|
|
6693
7020
|
<div class="attr function">
|
|
6694
7021
|
|
|
6695
7022
|
<span class="def">def</span>
|
|
6696
|
-
<span class="name">GetPlaylist</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">fields</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playlist.html#Playlist">spotifywebapipython.models.playlist.Playlist</a></span>:</span></span>
|
|
7023
|
+
<span class="name">GetPlaylist</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">fields</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playlist.html#Playlist">spotifywebapipython.models.playlist.Playlist</a></span>:</span></span>
|
|
6697
7024
|
|
|
6698
7025
|
|
|
6699
7026
|
</div>
|
|
@@ -6705,7 +7032,8 @@ and the response contains error information.</li>
|
|
|
6705
7032
|
|
|
6706
7033
|
<ul>
|
|
6707
7034
|
<li><strong>playlistId (str):</strong> The Spotify ID of the playlist. <br />
|
|
6708
|
-
Example: <code>5v5ETK9WFXAnGQ3MRubKuE</code
|
|
7035
|
+
Example: <code>5v5ETK9WFXAnGQ3MRubKuE</code>
|
|
7036
|
+
If null, the currently playing playlist uri id value is used.</li>
|
|
6709
7037
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
6710
7038
|
is available in that market will be returned. If a valid user access token is specified
|
|
6711
7039
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -6788,6 +7116,47 @@ and the response contains error information.</li>
|
|
|
6788
7116
|
</code></pre>
|
|
6789
7117
|
</div>
|
|
6790
7118
|
|
|
7119
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
7120
|
+
|
|
7121
|
+
<div class="pdoc-code codehilite">
|
|
7122
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
7123
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
7124
|
+
|
|
7125
|
+
<span class="k">try</span><span class="p">:</span>
|
|
7126
|
+
|
|
7127
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
7128
|
+
|
|
7129
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
7130
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
7131
|
+
|
|
7132
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
7133
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
7134
|
+
|
|
7135
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
7136
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
7137
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
7138
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
7139
|
+
|
|
7140
|
+
<span class="c1"># get the nowplaying playlist owned by a Spotify user.</span>
|
|
7141
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for nowplaying playlist ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
7142
|
+
<span class="n">playlist</span><span class="p">:</span><span class="n">Playlist</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetPlaylist</span><span class="p">()</span>
|
|
7143
|
+
|
|
7144
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playlist</span><span class="p">))</span>
|
|
7145
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
7146
|
+
|
|
7147
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playlist</span><span class="o">.</span><span class="n">Tracks</span><span class="p">))</span>
|
|
7148
|
+
|
|
7149
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Tracks:'</span><span class="p">)</span>
|
|
7150
|
+
<span class="n">playlistTrack</span><span class="p">:</span><span class="n">PlaylistTrack</span>
|
|
7151
|
+
<span class="k">for</span> <span class="n">playlistTrack</span> <span class="ow">in</span> <span class="n">playlist</span><span class="o">.</span><span class="n">Tracks</span><span class="o">.</span><span class="n">Items</span><span class="p">:</span>
|
|
7152
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">playlistTrack</span><span class="o">.</span><span class="n">Track</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">playlistTrack</span><span class="o">.</span><span class="n">Track</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
7153
|
+
|
|
7154
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
7155
|
+
|
|
7156
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
7157
|
+
</code></pre>
|
|
7158
|
+
</div>
|
|
7159
|
+
|
|
6791
7160
|
<p></details></p>
|
|
6792
7161
|
</div>
|
|
6793
7162
|
|
|
@@ -6868,7 +7237,7 @@ and the response contains error information.</li>
|
|
|
6868
7237
|
<div class="attr function">
|
|
6869
7238
|
|
|
6870
7239
|
<span class="def">def</span>
|
|
6871
|
-
<span class="name">GetPlaylistItems</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">50</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">fields</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playlistpage.html#PlaylistPage">spotifywebapipython.models.playlistpage.PlaylistPage</a></span>:</span></span>
|
|
7240
|
+
<span class="name">GetPlaylistItems</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">50</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">fields</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playlistpage.html#PlaylistPage">spotifywebapipython.models.playlistpage.PlaylistPage</a></span>:</span></span>
|
|
6872
7241
|
|
|
6873
7242
|
|
|
6874
7243
|
</div>
|
|
@@ -6882,7 +7251,8 @@ and the response contains error information.</li>
|
|
|
6882
7251
|
|
|
6883
7252
|
<ul>
|
|
6884
7253
|
<li><strong>playlistId (str):</strong> The Spotify ID of the playlist. <br />
|
|
6885
|
-
Example: <code>5v5ETK9WFXAnGQ3MRubKuE</code
|
|
7254
|
+
Example: <code>5v5ETK9WFXAnGQ3MRubKuE</code>
|
|
7255
|
+
If null, the currently playing playlist uri id value is used.</li>
|
|
6886
7256
|
<li><strong>limit (int):</strong> The maximum number of items to return in a page of items when manual paging is used. <br />
|
|
6887
7257
|
Default: 50, Range: 1 to 50. <br />
|
|
6888
7258
|
See the <code>limitTotal</code> argument for automatic paging option. </li>
|
|
@@ -7379,7 +7749,7 @@ and the response contains error information.</li>
|
|
|
7379
7749
|
<div class="attr function">
|
|
7380
7750
|
|
|
7381
7751
|
<span class="def">def</span>
|
|
7382
|
-
<span class="name">GetShow</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">showId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/show.html#Show">spotifywebapipython.models.show.Show</a></span>:</span></span>
|
|
7752
|
+
<span class="name">GetShow</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">showId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/show.html#Show">spotifywebapipython.models.show.Show</a></span>:</span></span>
|
|
7383
7753
|
|
|
7384
7754
|
|
|
7385
7755
|
</div>
|
|
@@ -7391,7 +7761,9 @@ and the response contains error information.</li>
|
|
|
7391
7761
|
|
|
7392
7762
|
<ul>
|
|
7393
7763
|
<li><strong>showId (str):</strong> The Spotify ID for the show.
|
|
7394
|
-
Example: <code>5CfCWKI5pZ28U0uOzXkDHe</code
|
|
7764
|
+
Example: <code>5CfCWKI5pZ28U0uOzXkDHe</code>
|
|
7765
|
+
If null, the currently playing show uri id value is used; a Spotify Free or Premium account
|
|
7766
|
+
is required to correctly read the currently playing context.</li>
|
|
7395
7767
|
<li><strong>market (str):</strong> An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that
|
|
7396
7768
|
is available in that market will be returned. If a valid user access token is specified
|
|
7397
7769
|
in the request header, the country associated with the user account will take priority over
|
|
@@ -7483,6 +7855,66 @@ and the response contains error information.</li>
|
|
|
7483
7855
|
</code></pre>
|
|
7484
7856
|
</div>
|
|
7485
7857
|
|
|
7858
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
7859
|
+
|
|
7860
|
+
<div class="pdoc-code codehilite">
|
|
7861
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
7862
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
7863
|
+
|
|
7864
|
+
<span class="k">try</span><span class="p">:</span>
|
|
7865
|
+
|
|
7866
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
7867
|
+
|
|
7868
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
7869
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
7870
|
+
|
|
7871
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
7872
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
7873
|
+
|
|
7874
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
7875
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
7876
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
7877
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
7878
|
+
|
|
7879
|
+
<span class="c1"># get Spotify catalog information for the nowplaying show.</span>
|
|
7880
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for nowplaying show ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
7881
|
+
<span class="n">show</span><span class="p">:</span><span class="n">Show</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetShow</span><span class="p">()</span>
|
|
7882
|
+
|
|
7883
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">show</span><span class="p">))</span>
|
|
7884
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
7885
|
+
|
|
7886
|
+
<span class="c1"># prepare to retrieve all episodes.</span>
|
|
7887
|
+
<span class="n">pageObj</span><span class="p">:</span><span class="n">EpisodePageSimplified</span> <span class="o">=</span> <span class="n">show</span><span class="o">.</span><span class="n">Episodes</span>
|
|
7888
|
+
|
|
7889
|
+
<span class="c1"># handle pagination, as spotify limits us to a set # of items returned per response.</span>
|
|
7890
|
+
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
|
7891
|
+
|
|
7892
|
+
<span class="c1"># display paging details.</span>
|
|
7893
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">pageObj</span><span class="p">))</span>
|
|
7894
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
7895
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'Episodes in this page of results:'</span><span class="p">)</span>
|
|
7896
|
+
|
|
7897
|
+
<span class="c1"># display episode details.</span>
|
|
7898
|
+
<span class="n">episodeSimplified</span><span class="p">:</span><span class="n">EpisodeSimplified</span>
|
|
7899
|
+
<span class="k">for</span> <span class="n">episodeSimplified</span> <span class="ow">in</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Items</span><span class="p">:</span>
|
|
7900
|
+
|
|
7901
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">episodeSimplified</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">episodeSimplified</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
7902
|
+
|
|
7903
|
+
<span class="c1"># anymore page results?</span>
|
|
7904
|
+
<span class="k">if</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Next</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
7905
|
+
<span class="c1"># no - all pages were processed.</span>
|
|
7906
|
+
<span class="k">break</span>
|
|
7907
|
+
<span class="k">else</span><span class="p">:</span>
|
|
7908
|
+
<span class="c1"># yes - retrieve the next page of results.</span>
|
|
7909
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting next page of </span><span class="si">%d</span><span class="s1"> items ...</span><span class="se">\n</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">))</span>
|
|
7910
|
+
<span class="n">pageObj</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetShowEpisodes</span><span class="p">(</span><span class="n">show</span><span class="o">.</span><span class="n">Id</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Offset</span> <span class="o">+</span> <span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="n">pageObj</span><span class="o">.</span><span class="n">Limit</span><span class="p">)</span>
|
|
7911
|
+
|
|
7912
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
7913
|
+
|
|
7914
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
7915
|
+
</code></pre>
|
|
7916
|
+
</div>
|
|
7917
|
+
|
|
7486
7918
|
<p></details></p>
|
|
7487
7919
|
</div>
|
|
7488
7920
|
|
|
@@ -7492,7 +7924,7 @@ and the response contains error information.</li>
|
|
|
7492
7924
|
<div class="attr function">
|
|
7493
7925
|
|
|
7494
7926
|
<span class="def">def</span>
|
|
7495
|
-
<span class="name">GetShowEpisodes</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">showId</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/episodepagesimplified.html#EpisodePageSimplified">spotifywebapipython.models.episodepagesimplified.EpisodePageSimplified</a></span>:</span></span>
|
|
7927
|
+
<span class="name">GetShowEpisodes</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">showId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">20</span>,</span><span class="param"> <span class="n">offset</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">limitTotal</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/episodepagesimplified.html#EpisodePageSimplified">spotifywebapipython.models.episodepagesimplified.EpisodePageSimplified</a></span>:</span></span>
|
|
7496
7928
|
|
|
7497
7929
|
|
|
7498
7930
|
</div>
|
|
@@ -7506,7 +7938,9 @@ and the response contains error information.</li>
|
|
|
7506
7938
|
|
|
7507
7939
|
<ul>
|
|
7508
7940
|
<li><strong>showId (str):</strong> The Spotify ID for the show.
|
|
7509
|
-
Example: <code>6kAsbP8pxwaU2kPibKTuHE</code
|
|
7941
|
+
Example: <code>6kAsbP8pxwaU2kPibKTuHE</code>
|
|
7942
|
+
If null, the currently playing show uri id value is used; a Spotify Free or Premium account
|
|
7943
|
+
is required to correctly read the currently playing context.</li>
|
|
7510
7944
|
<li><strong>limit (int):</strong> The maximum number of items to return in a page of items when manual paging is used. <br />
|
|
7511
7945
|
Default: 20, Range: 1 to 50. <br />
|
|
7512
7946
|
See the <code>limitTotal</code> argument for automatic paging option. </li>
|
|
@@ -8190,7 +8624,7 @@ the spotify web api request. This results in better performance.</p>
|
|
|
8190
8624
|
<div class="attr function">
|
|
8191
8625
|
|
|
8192
8626
|
<span class="def">def</span>
|
|
8193
|
-
<span class="name">GetTrack</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">trackId</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="n"><a href="models/track.html#Track">spotifywebapipython.models.track.Track</a></span>:</span></span>
|
|
8627
|
+
<span class="name">GetTrack</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">trackId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/track.html#Track">spotifywebapipython.models.track.Track</a></span>:</span></span>
|
|
8194
8628
|
|
|
8195
8629
|
|
|
8196
8630
|
</div>
|
|
@@ -8202,7 +8636,9 @@ the spotify web api request. This results in better performance.</p>
|
|
|
8202
8636
|
|
|
8203
8637
|
<ul>
|
|
8204
8638
|
<li><strong>trackId (str):</strong> The Spotify ID of the track. <br />
|
|
8205
|
-
Example: <code>1kWUud3vY5ij5r62zxpTRy</code
|
|
8639
|
+
Example: <code>1kWUud3vY5ij5r62zxpTRy</code>
|
|
8640
|
+
If null, the currently playing track uri id value is used; a Spotify Free or Premium account
|
|
8641
|
+
is required to correctly read the currently playing context.</li>
|
|
8206
8642
|
</ul>
|
|
8207
8643
|
|
|
8208
8644
|
<h6 id="returns">Returns:</h6>
|
|
@@ -8260,6 +8696,47 @@ and the response contains error information.</li>
|
|
|
8260
8696
|
</code></pre>
|
|
8261
8697
|
</div>
|
|
8262
8698
|
|
|
8699
|
+
<p><summary>Sample Code - NowPlaying</summary></p>
|
|
8700
|
+
|
|
8701
|
+
<div class="pdoc-code codehilite">
|
|
8702
|
+
<pre><span></span><code><span class="kn">from</span> <span class="nn">spotifywebapipython</span> <span class="kn">import</span> <span class="o">*</span>
|
|
8703
|
+
<span class="kn">from</span> <span class="nn">spotifywebapipython.models</span> <span class="kn">import</span> <span class="o">*</span>
|
|
8704
|
+
|
|
8705
|
+
<span class="k">try</span><span class="p">:</span>
|
|
8706
|
+
|
|
8707
|
+
<span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
|
|
8708
|
+
|
|
8709
|
+
<span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">'your_client_id'</span>
|
|
8710
|
+
<span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'user-read-email'</span><span class="p">,</span><span class="s1">'user-library-read'</span><span class="p">,</span><span class="s1">'user-read-currently-playing'</span><span class="p">]</span>
|
|
8711
|
+
|
|
8712
|
+
<span class="c1"># create new spotify client instance.</span>
|
|
8713
|
+
<span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
|
|
8714
|
+
|
|
8715
|
+
<span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
|
|
8716
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
|
|
8717
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> Scope="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
|
|
8718
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName="</span><span class="si">%s</span><span class="s1">"</span><span class="se">\n</span><span class="s1"> EMail="</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
|
|
8719
|
+
|
|
8720
|
+
<span class="c1"># get Spotify catalog information for the nowplaying track.</span>
|
|
8721
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Getting details for the nowplaying track ...</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
|
8722
|
+
<span class="n">track</span><span class="p">:</span><span class="n">Track</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetTrack</span><span class="p">()</span>
|
|
8723
|
+
|
|
8724
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">track</span><span class="p">))</span>
|
|
8725
|
+
|
|
8726
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Artists:'</span><span class="p">)</span>
|
|
8727
|
+
<span class="n">artist</span><span class="p">:</span><span class="n">ArtistSimplified</span>
|
|
8728
|
+
<span class="k">for</span> <span class="n">artist</span> <span class="ow">in</span> <span class="n">track</span><span class="o">.</span><span class="n">Artists</span><span class="p">:</span>
|
|
8729
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'- "</span><span class="si">{name}</span><span class="s1">" (</span><span class="si">{uri}</span><span class="s1">)'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">artist</span><span class="o">.</span><span class="n">Name</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="n">artist</span><span class="o">.</span><span class="n">Uri</span><span class="p">))</span>
|
|
8730
|
+
|
|
8731
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">''</span><span class="p">)</span>
|
|
8732
|
+
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">track</span><span class="o">.</span><span class="n">Album</span><span class="p">))</span>
|
|
8733
|
+
|
|
8734
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
8735
|
+
|
|
8736
|
+
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|
|
8737
|
+
</code></pre>
|
|
8738
|
+
</div>
|
|
8739
|
+
|
|
8263
8740
|
<p></details></p>
|
|
8264
8741
|
</div>
|
|
8265
8742
|
|
|
@@ -8269,7 +8746,7 @@ and the response contains error information.</li>
|
|
|
8269
8746
|
<div class="attr function">
|
|
8270
8747
|
|
|
8271
8748
|
<span class="def">def</span>
|
|
8272
|
-
<span class="name">GetTrackAudioFeatures</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">trackId</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="n"><a href="models/audiofeatures.html#AudioFeatures">spotifywebapipython.models.audiofeatures.AudioFeatures</a></span>:</span></span>
|
|
8749
|
+
<span class="name">GetTrackAudioFeatures</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">trackId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/audiofeatures.html#AudioFeatures">spotifywebapipython.models.audiofeatures.AudioFeatures</a></span>:</span></span>
|
|
8273
8750
|
|
|
8274
8751
|
|
|
8275
8752
|
</div>
|
|
@@ -8281,7 +8758,9 @@ and the response contains error information.</li>
|
|
|
8281
8758
|
|
|
8282
8759
|
<ul>
|
|
8283
8760
|
<li><strong>trackId (str):</strong> The Spotify ID of the track. <br />
|
|
8284
|
-
Example: <code>1kWUud3vY5ij5r62zxpTRy</code
|
|
8761
|
+
Example: <code>1kWUud3vY5ij5r62zxpTRy</code>
|
|
8762
|
+
If null, the currently playing track uri id value is used; a Spotify Free or Premium account
|
|
8763
|
+
is required to correctly read the currently playing context.</li>
|
|
8285
8764
|
</ul>
|
|
8286
8765
|
|
|
8287
8766
|
<h6 id="returns">Returns:</h6>
|
|
@@ -13874,7 +14353,7 @@ and the response contains error information.</li>
|
|
|
13874
14353
|
<div class="attr function">
|
|
13875
14354
|
|
|
13876
14355
|
<span class="def">def</span>
|
|
13877
|
-
<span class="name">UnfollowPlaylist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span></span><span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
|
|
14356
|
+
<span class="name">UnfollowPlaylist</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">playlistId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
|
|
13878
14357
|
|
|
13879
14358
|
|
|
13880
14359
|
</div>
|
|
@@ -13888,7 +14367,8 @@ and the response contains error information.</li>
|
|
|
13888
14367
|
|
|
13889
14368
|
<ul>
|
|
13890
14369
|
<li><strong>playlistId (str):</strong> The Spotify ID of the playlist. <br />
|
|
13891
|
-
Example: <code>3cEYpjA9oz9GiPac4AsH4n</code
|
|
14370
|
+
Example: <code>3cEYpjA9oz9GiPac4AsH4n</code>
|
|
14371
|
+
If null, the currently playing playlist uri id value is used.</li>
|
|
13892
14372
|
</ul>
|
|
13893
14373
|
|
|
13894
14374
|
<h6 id="raises">Raises:</h6>
|
|
@@ -13935,6 +14415,12 @@ and the response contains error information.</li>
|
|
|
13935
14415
|
|
|
13936
14416
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Success - playlist is now unfollowed'</span><span class="p">)</span>
|
|
13937
14417
|
|
|
14418
|
+
<span class="c1"># remove the current user as a follower of the nowplaying playlist.</span>
|
|
14419
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Unfollowing nowplaying playlist ...'</span><span class="p">)</span>
|
|
14420
|
+
<span class="n">spotify</span><span class="o">.</span><span class="n">UnfollowPlaylist</span><span class="p">()</span>
|
|
14421
|
+
|
|
14422
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Success - nowplaying playlist is now unfollowed'</span><span class="p">)</span>
|
|
14423
|
+
|
|
13938
14424
|
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
|
|
13939
14425
|
|
|
13940
14426
|
<span class="nb">print</span><span class="p">(</span><span class="s2">"** Exception: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
|