<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic API blocked for Premium users? in Spotify for Developers</title>
    <link>https://community.spotify.com/t5/Spotify-for-Developers/API-blocked-for-Premium-users/m-p/5538119#M8754</link>
    <description>&lt;P&gt;&lt;STRONG&gt;Plan&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Free&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Country&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Question or Issue&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I am developing a first app on Spotify using Authorization if there is no token. The app generates a random song, and tries again if it's not able to load it.&lt;BR /&gt;It works for my Spotufy account which is free, but with a friend's Premium account, it just tries loading songs over and over again with a 403 error.&lt;BR /&gt;&lt;BR /&gt;Here is my script.js code:&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;// Get the hash of the url&lt;BR /&gt;&lt;/SPAN&gt;const hash = window.location.hash&lt;BR /&gt;  .substring(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;  .split(&lt;SPAN&gt;"&amp;amp;"&lt;/SPAN&gt;)&lt;BR /&gt;  .reduce(&lt;SPAN&gt;function&lt;/SPAN&gt;(initial, item) {&lt;BR /&gt;    &lt;SPAN&gt;if &lt;/SPAN&gt;(item) {&lt;BR /&gt;      &lt;SPAN&gt;var &lt;/SPAN&gt;parts = item.split(&lt;SPAN&gt;"="&lt;/SPAN&gt;);&lt;BR /&gt;      initial[parts[&lt;SPAN&gt;0&lt;/SPAN&gt;]] = decodeURIComponent(parts[&lt;SPAN&gt;1&lt;/SPAN&gt;]);&lt;BR /&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;return &lt;/SPAN&gt;initial;&lt;BR /&gt;  }, {});&lt;BR /&gt;window.location.hash = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Set token&lt;BR /&gt;&lt;/SPAN&gt;let _token = hash.access_token;&lt;BR /&gt;&lt;BR /&gt;const authEndpoint = &lt;SPAN&gt;"https://accounts.spotify.com/authorize"&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Replace with your app's client ID, redirect URI and desired scopes&lt;BR /&gt;&lt;/SPAN&gt;const clientId = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;const redirectUri = &lt;SPAN&gt;"http://127.0.0.1:5000"&lt;/SPAN&gt;;&lt;BR /&gt;const scopes = [&lt;BR /&gt;  &lt;SPAN&gt;"streaming"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;"user-modify-playback-state"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;"user-library-modify"&lt;BR /&gt;&lt;/SPAN&gt;];&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// If there is no token, redirect to Spotify authorization&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;(!_token) {&lt;BR /&gt;  window.location = `${authEndpoint}?client_id=${clientId}&amp;amp;redirect_uri=${redirectUri}&amp;amp;scope=${scopes.join(&lt;BR /&gt;    &lt;SPAN&gt;"%20"&lt;BR /&gt;&lt;/SPAN&gt;  )}&amp;amp;response_type=token`;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Set up the Web Playback SDK&lt;BR /&gt;&lt;/SPAN&gt;let deviceId;&lt;BR /&gt;let ids = [];&lt;BR /&gt;&lt;BR /&gt;window.onSpotifyPlayerAPIReady = () =&amp;gt; {&lt;BR /&gt;  const player = &lt;SPAN&gt;new &lt;/SPAN&gt;Spotify.Player({&lt;BR /&gt;    name: &lt;SPAN&gt;"Big Spotify Button"&lt;/SPAN&gt;,&lt;BR /&gt;    getOAuthToken: cb =&amp;gt; {&lt;BR /&gt;      cb(_token);&lt;BR /&gt;    }&lt;BR /&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Error handling&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"initialization_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"authentication_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"account_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"playback_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Playback status updates&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"player_state_changed"&lt;/SPAN&gt;, state =&amp;gt; {&lt;BR /&gt;   &lt;SPAN&gt;// console.log(state);&lt;BR /&gt;&lt;/SPAN&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Ready&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"ready"&lt;/SPAN&gt;, data =&amp;gt; {&lt;BR /&gt;  &lt;SPAN&gt;//  console.log("Ready with Device ID", data.device_id);&lt;BR /&gt;&lt;/SPAN&gt;    deviceId = data.device_id;&lt;BR /&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Connect to the player!&lt;BR /&gt;&lt;/SPAN&gt;  player.connect();&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Play a specified track on the Web Playback SDK's device ID&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;play(device_id, track) {&lt;BR /&gt;  $.ajax({&lt;BR /&gt;    url: &lt;SPAN&gt;"https://api.spotify.com/v1/me/player/play?device_id=" &lt;/SPAN&gt;+ device_id,&lt;BR /&gt;    type: &lt;SPAN&gt;"PUT"&lt;/SPAN&gt;,&lt;BR /&gt;    data: `{&lt;SPAN&gt;"uris"&lt;/SPAN&gt;: [&lt;SPAN&gt;"${track}"&lt;/SPAN&gt;]}`,&lt;BR /&gt;    beforeSend: &lt;SPAN&gt;function&lt;/SPAN&gt;(xhr) {&lt;BR /&gt;      xhr.setRequestHeader(&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;, &lt;SPAN&gt;"Bearer " &lt;/SPAN&gt;+ _token);&lt;BR /&gt;    },&lt;BR /&gt;    success: &lt;SPAN&gt;function&lt;/SPAN&gt;(data) {&lt;BR /&gt;    }&lt;BR /&gt;  });&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;makeid(length) {&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;result = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;characters =&lt;BR /&gt;    &lt;SPAN&gt;"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"&lt;/SPAN&gt;;&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;charactersLength = characters.length;&lt;BR /&gt;  &lt;SPAN&gt;for &lt;/SPAN&gt;(&lt;SPAN&gt;var &lt;/SPAN&gt;i = &lt;SPAN&gt;0&lt;/SPAN&gt;; i &amp;lt; length; i++) {&lt;BR /&gt;    result += characters.charAt(Math.floor(Math.random() * charactersLength));&lt;BR /&gt;  }&lt;BR /&gt;  &lt;SPAN&gt;return &lt;/SPAN&gt;result;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;restart() {&lt;BR /&gt;  &lt;SPAN&gt;//Reload page&lt;BR /&gt;&lt;/SPAN&gt;    location.reload();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;getASong() {&lt;BR /&gt;  let random_seed = makeid(&lt;SPAN&gt;2&lt;/SPAN&gt;);&lt;BR /&gt;  let random_offset = Math.floor(Math.random() * &lt;SPAN&gt;2000&lt;/SPAN&gt;); &lt;SPAN&gt;// returns a random integer from 0 to 9&lt;BR /&gt;&lt;/SPAN&gt;  $.ajax({&lt;BR /&gt;    url:&lt;BR /&gt;      &lt;SPAN&gt;"https://api.spotify.com/v1/search?type=track&amp;amp;offset=" &lt;/SPAN&gt;+&lt;BR /&gt;      random_offset +&lt;BR /&gt;      &lt;SPAN&gt;"&amp;amp;limit=1&amp;amp;q=" &lt;/SPAN&gt;+&lt;BR /&gt;      random_seed,&lt;BR /&gt;    type: &lt;SPAN&gt;"GET"&lt;/SPAN&gt;,&lt;BR /&gt;    beforeSend: &lt;SPAN&gt;function&lt;/SPAN&gt;(xhr) {&lt;BR /&gt;      xhr.setRequestHeader(&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;, &lt;SPAN&gt;"Bearer " &lt;/SPAN&gt;+ _token);&lt;BR /&gt;    },&lt;BR /&gt;    success: &lt;SPAN&gt;function&lt;/SPAN&gt;(data) {&lt;BR /&gt;      let trackUri = data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].uri;&lt;BR /&gt;      let releaseDate = data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].album.release_date;&lt;BR /&gt;&lt;BR /&gt;      play(deviceId, trackUri);&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).attr(&lt;SPAN&gt;"data-song"&lt;/SPAN&gt;, data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].uri);&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).attr(&lt;BR /&gt;        &lt;SPAN&gt;"src"&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;"https://cdn.glitch.com/eed3cfeb-d097-4769-9d03-2d3a6cc7c004%2Ficons8-heart-24.png?v=1597232027543"&lt;BR /&gt;&lt;/SPAN&gt;      );&lt;BR /&gt;      $(&lt;SPAN&gt;"#embed-uri"&lt;/SPAN&gt;).attr(&lt;BR /&gt;        &lt;SPAN&gt;"src"&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;"https://open.spotify.com/embed/track/" &lt;/SPAN&gt;+ data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].id&lt;BR /&gt;      );&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).css(&lt;SPAN&gt;"display"&lt;/SPAN&gt;, &lt;SPAN&gt;"block"&lt;/SPAN&gt;);&lt;BR /&gt;&lt;BR /&gt;      $(&lt;SPAN&gt;".start"&lt;/SPAN&gt;).hide();&lt;BR /&gt;    },&lt;BR /&gt;    error : &lt;SPAN&gt;function&lt;/SPAN&gt;() {&lt;BR /&gt;    getASong();&lt;BR /&gt;    }&lt;BR /&gt;    });&lt;BR /&gt;}&lt;/PRE&gt;&lt;/DIV&gt;</description>
    <pubDate>Wed, 12 Apr 2023 12:01:36 GMT</pubDate>
    <dc:creator>nitsua1</dc:creator>
    <dc:date>2023-04-12T12:01:36Z</dc:date>
    <item>
      <title>API blocked for Premium users?</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/API-blocked-for-Premium-users/m-p/5538119#M8754</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Plan&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Free&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Country&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My Question or Issue&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I am developing a first app on Spotify using Authorization if there is no token. The app generates a random song, and tries again if it's not able to load it.&lt;BR /&gt;It works for my Spotufy account which is free, but with a friend's Premium account, it just tries loading songs over and over again with a 403 error.&lt;BR /&gt;&lt;BR /&gt;Here is my script.js code:&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;// Get the hash of the url&lt;BR /&gt;&lt;/SPAN&gt;const hash = window.location.hash&lt;BR /&gt;  .substring(&lt;SPAN&gt;1&lt;/SPAN&gt;)&lt;BR /&gt;  .split(&lt;SPAN&gt;"&amp;amp;"&lt;/SPAN&gt;)&lt;BR /&gt;  .reduce(&lt;SPAN&gt;function&lt;/SPAN&gt;(initial, item) {&lt;BR /&gt;    &lt;SPAN&gt;if &lt;/SPAN&gt;(item) {&lt;BR /&gt;      &lt;SPAN&gt;var &lt;/SPAN&gt;parts = item.split(&lt;SPAN&gt;"="&lt;/SPAN&gt;);&lt;BR /&gt;      initial[parts[&lt;SPAN&gt;0&lt;/SPAN&gt;]] = decodeURIComponent(parts[&lt;SPAN&gt;1&lt;/SPAN&gt;]);&lt;BR /&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;return &lt;/SPAN&gt;initial;&lt;BR /&gt;  }, {});&lt;BR /&gt;window.location.hash = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Set token&lt;BR /&gt;&lt;/SPAN&gt;let _token = hash.access_token;&lt;BR /&gt;&lt;BR /&gt;const authEndpoint = &lt;SPAN&gt;"https://accounts.spotify.com/authorize"&lt;/SPAN&gt;;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Replace with your app's client ID, redirect URI and desired scopes&lt;BR /&gt;&lt;/SPAN&gt;const clientId = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;const redirectUri = &lt;SPAN&gt;"http://127.0.0.1:5000"&lt;/SPAN&gt;;&lt;BR /&gt;const scopes = [&lt;BR /&gt;  &lt;SPAN&gt;"streaming"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;"user-modify-playback-state"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;"user-library-modify"&lt;BR /&gt;&lt;/SPAN&gt;];&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// If there is no token, redirect to Spotify authorization&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;if &lt;/SPAN&gt;(!_token) {&lt;BR /&gt;  window.location = `${authEndpoint}?client_id=${clientId}&amp;amp;redirect_uri=${redirectUri}&amp;amp;scope=${scopes.join(&lt;BR /&gt;    &lt;SPAN&gt;"%20"&lt;BR /&gt;&lt;/SPAN&gt;  )}&amp;amp;response_type=token`;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Set up the Web Playback SDK&lt;BR /&gt;&lt;/SPAN&gt;let deviceId;&lt;BR /&gt;let ids = [];&lt;BR /&gt;&lt;BR /&gt;window.onSpotifyPlayerAPIReady = () =&amp;gt; {&lt;BR /&gt;  const player = &lt;SPAN&gt;new &lt;/SPAN&gt;Spotify.Player({&lt;BR /&gt;    name: &lt;SPAN&gt;"Big Spotify Button"&lt;/SPAN&gt;,&lt;BR /&gt;    getOAuthToken: cb =&amp;gt; {&lt;BR /&gt;      cb(_token);&lt;BR /&gt;    }&lt;BR /&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Error handling&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"initialization_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"authentication_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"account_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;  player.on(&lt;SPAN&gt;"playback_error"&lt;/SPAN&gt;, e =&amp;gt; console.error(e));&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Playback status updates&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"player_state_changed"&lt;/SPAN&gt;, state =&amp;gt; {&lt;BR /&gt;   &lt;SPAN&gt;// console.log(state);&lt;BR /&gt;&lt;/SPAN&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Ready&lt;BR /&gt;&lt;/SPAN&gt;  player.on(&lt;SPAN&gt;"ready"&lt;/SPAN&gt;, data =&amp;gt; {&lt;BR /&gt;  &lt;SPAN&gt;//  console.log("Ready with Device ID", data.device_id);&lt;BR /&gt;&lt;/SPAN&gt;    deviceId = data.device_id;&lt;BR /&gt;  });&lt;BR /&gt;&lt;BR /&gt;  &lt;SPAN&gt;// Connect to the player!&lt;BR /&gt;&lt;/SPAN&gt;  player.connect();&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Play a specified track on the Web Playback SDK's device ID&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;play(device_id, track) {&lt;BR /&gt;  $.ajax({&lt;BR /&gt;    url: &lt;SPAN&gt;"https://api.spotify.com/v1/me/player/play?device_id=" &lt;/SPAN&gt;+ device_id,&lt;BR /&gt;    type: &lt;SPAN&gt;"PUT"&lt;/SPAN&gt;,&lt;BR /&gt;    data: `{&lt;SPAN&gt;"uris"&lt;/SPAN&gt;: [&lt;SPAN&gt;"${track}"&lt;/SPAN&gt;]}`,&lt;BR /&gt;    beforeSend: &lt;SPAN&gt;function&lt;/SPAN&gt;(xhr) {&lt;BR /&gt;      xhr.setRequestHeader(&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;, &lt;SPAN&gt;"Bearer " &lt;/SPAN&gt;+ _token);&lt;BR /&gt;    },&lt;BR /&gt;    success: &lt;SPAN&gt;function&lt;/SPAN&gt;(data) {&lt;BR /&gt;    }&lt;BR /&gt;  });&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;makeid(length) {&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;result = &lt;SPAN&gt;""&lt;/SPAN&gt;;&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;characters =&lt;BR /&gt;    &lt;SPAN&gt;"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"&lt;/SPAN&gt;;&lt;BR /&gt;  &lt;SPAN&gt;var &lt;/SPAN&gt;charactersLength = characters.length;&lt;BR /&gt;  &lt;SPAN&gt;for &lt;/SPAN&gt;(&lt;SPAN&gt;var &lt;/SPAN&gt;i = &lt;SPAN&gt;0&lt;/SPAN&gt;; i &amp;lt; length; i++) {&lt;BR /&gt;    result += characters.charAt(Math.floor(Math.random() * charactersLength));&lt;BR /&gt;  }&lt;BR /&gt;  &lt;SPAN&gt;return &lt;/SPAN&gt;result;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;restart() {&lt;BR /&gt;  &lt;SPAN&gt;//Reload page&lt;BR /&gt;&lt;/SPAN&gt;    location.reload();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function &lt;/SPAN&gt;getASong() {&lt;BR /&gt;  let random_seed = makeid(&lt;SPAN&gt;2&lt;/SPAN&gt;);&lt;BR /&gt;  let random_offset = Math.floor(Math.random() * &lt;SPAN&gt;2000&lt;/SPAN&gt;); &lt;SPAN&gt;// returns a random integer from 0 to 9&lt;BR /&gt;&lt;/SPAN&gt;  $.ajax({&lt;BR /&gt;    url:&lt;BR /&gt;      &lt;SPAN&gt;"https://api.spotify.com/v1/search?type=track&amp;amp;offset=" &lt;/SPAN&gt;+&lt;BR /&gt;      random_offset +&lt;BR /&gt;      &lt;SPAN&gt;"&amp;amp;limit=1&amp;amp;q=" &lt;/SPAN&gt;+&lt;BR /&gt;      random_seed,&lt;BR /&gt;    type: &lt;SPAN&gt;"GET"&lt;/SPAN&gt;,&lt;BR /&gt;    beforeSend: &lt;SPAN&gt;function&lt;/SPAN&gt;(xhr) {&lt;BR /&gt;      xhr.setRequestHeader(&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;, &lt;SPAN&gt;"Bearer " &lt;/SPAN&gt;+ _token);&lt;BR /&gt;    },&lt;BR /&gt;    success: &lt;SPAN&gt;function&lt;/SPAN&gt;(data) {&lt;BR /&gt;      let trackUri = data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].uri;&lt;BR /&gt;      let releaseDate = data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].album.release_date;&lt;BR /&gt;&lt;BR /&gt;      play(deviceId, trackUri);&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).attr(&lt;SPAN&gt;"data-song"&lt;/SPAN&gt;, data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].uri);&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).attr(&lt;BR /&gt;        &lt;SPAN&gt;"src"&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;"https://cdn.glitch.com/eed3cfeb-d097-4769-9d03-2d3a6cc7c004%2Ficons8-heart-24.png?v=1597232027543"&lt;BR /&gt;&lt;/SPAN&gt;      );&lt;BR /&gt;      $(&lt;SPAN&gt;"#embed-uri"&lt;/SPAN&gt;).attr(&lt;BR /&gt;        &lt;SPAN&gt;"src"&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;"https://open.spotify.com/embed/track/" &lt;/SPAN&gt;+ data.tracks.items[&lt;SPAN&gt;0&lt;/SPAN&gt;].id&lt;BR /&gt;      );&lt;BR /&gt;      $(&lt;SPAN&gt;"#current-track-name-save"&lt;/SPAN&gt;).css(&lt;SPAN&gt;"display"&lt;/SPAN&gt;, &lt;SPAN&gt;"block"&lt;/SPAN&gt;);&lt;BR /&gt;&lt;BR /&gt;      $(&lt;SPAN&gt;".start"&lt;/SPAN&gt;).hide();&lt;BR /&gt;    },&lt;BR /&gt;    error : &lt;SPAN&gt;function&lt;/SPAN&gt;() {&lt;BR /&gt;    getASong();&lt;BR /&gt;    }&lt;BR /&gt;    });&lt;BR /&gt;}&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 12 Apr 2023 12:01:36 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/API-blocked-for-Premium-users/m-p/5538119#M8754</guid>
      <dc:creator>nitsua1</dc:creator>
      <dc:date>2023-04-12T12:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: API blocked for Premium users?</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/API-blocked-for-Premium-users/m-p/5538190#M8756</link>
      <description>&lt;P&gt;I think it has nothing to do with your friend having premium, but I think your app is still in developer mode. You can read about it here: &lt;A href="https://developer.spotify.com/documentation/web-api/concepts/quota-modes" target="_blank"&gt;https://developer.spotify.com/documentation/web-api/concepts/quota-modes&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Apr 2023 14:24:52 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/API-blocked-for-Premium-users/m-p/5538190#M8756</guid>
      <dc:creator>Ximzend</dc:creator>
      <dc:date>2023-04-12T14:24:52Z</dc:date>
    </item>
  </channel>
</rss>

