<?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 401 error in Spotify for Developers</title>
    <link>https://community.spotify.com/t5/Spotify-for-Developers/401-error/m-p/5649911#M11042</link>
    <description>&lt;P&gt;{'error': {'status': 401, 'message': 'Invalid access token'}}&lt;BR /&gt;What i need to do in this sutiation ?&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;json&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;dotenv &lt;SPAN&gt;import &lt;/SPAN&gt;load_dotenv&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;os&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;base64&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;requests &lt;SPAN&gt;import &lt;/SPAN&gt;post, get&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;load_dotenv&lt;/SPAN&gt;()&lt;BR /&gt;&lt;BR /&gt;client_id &lt;SPAN&gt;= &lt;/SPAN&gt;os.&lt;SPAN&gt;getenv&lt;/SPAN&gt;(&lt;SPAN&gt;'CLIENT_ID'&lt;/SPAN&gt;)&lt;BR /&gt;client_secret &lt;SPAN&gt;= &lt;/SPAN&gt;os.&lt;SPAN&gt;getenv&lt;/SPAN&gt;(&lt;SPAN&gt;'CLIENT_SECRET'&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_token&lt;/SPAN&gt;()&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;auth_string &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;client_id &lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;':' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;client_secret&lt;BR /&gt;    &lt;SPAN&gt;auth_bytes &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;auth_string&lt;/SPAN&gt;.&lt;SPAN&gt;encode&lt;/SPAN&gt;(&lt;SPAN&gt;'utf-8'&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;auth_base64 &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;(base64.&lt;SPAN&gt;b64encode&lt;/SPAN&gt;(&lt;SPAN&gt;auth_bytes&lt;/SPAN&gt;), &lt;SPAN&gt;'utf=8'&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;'https://accounts.spotify.com/api/token'&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;headers &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;{&lt;BR /&gt;        &lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'Basic ' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;auth_base64&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'application/x-www-form-urlencoded'&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;data &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;{&lt;SPAN&gt;'grant_type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'client_credentials'&lt;/SPAN&gt;}&lt;BR /&gt;    &lt;SPAN&gt;result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;post&lt;/SPAN&gt;(&lt;SPAN&gt;url&lt;/SPAN&gt;, &lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;, &lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;json_result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;json.&lt;SPAN&gt;loads&lt;/SPAN&gt;(&lt;SPAN&gt;result&lt;/SPAN&gt;.content)&lt;BR /&gt;    &lt;SPAN&gt;token &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;json_result&lt;/SPAN&gt;[&lt;SPAN&gt;'access_token'&lt;/SPAN&gt;]&lt;BR /&gt;    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;token&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_auth_header&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;)&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    return &lt;/SPAN&gt;{&lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'Bearer ' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;search_for_artist&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;, &lt;SPAN&gt;artist_name&lt;/SPAN&gt;)&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;'https://api.spotify.com/v1/search'&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;headers &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get_auth_header&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;query &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;f'?q={&lt;/SPAN&gt;&lt;SPAN&gt;artist_name&lt;/SPAN&gt;&lt;SPAN&gt;}&amp;amp;type=atrist&amp;amp;limit=1'&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;query_url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;query&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;(&lt;SPAN&gt;query_url&lt;/SPAN&gt;, &lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;json_result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;json.&lt;SPAN&gt;loads&lt;/SPAN&gt;(&lt;SPAN&gt;result&lt;/SPAN&gt;.content)&lt;BR /&gt;    &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;json_result&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;get_token&lt;/SPAN&gt;())&lt;BR /&gt;token &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get_token&lt;/SPAN&gt;()&lt;BR /&gt;&lt;SPAN&gt;search_for_artist&lt;/SPAN&gt;(&lt;SPAN&gt;'token'&lt;/SPAN&gt;, &lt;SPAN&gt;'ACDC'&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 10 Oct 2023 13:59:22 GMT</pubDate>
    <dc:creator>๖EEfect</dc:creator>
    <dc:date>2023-10-10T13:59:22Z</dc:date>
    <item>
      <title>401 error</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/401-error/m-p/5649911#M11042</link>
      <description>&lt;P&gt;{'error': {'status': 401, 'message': 'Invalid access token'}}&lt;BR /&gt;What i need to do in this sutiation ?&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;json&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;dotenv &lt;SPAN&gt;import &lt;/SPAN&gt;load_dotenv&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;os&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;base64&lt;BR /&gt;&lt;SPAN&gt;from &lt;/SPAN&gt;requests &lt;SPAN&gt;import &lt;/SPAN&gt;post, get&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;load_dotenv&lt;/SPAN&gt;()&lt;BR /&gt;&lt;BR /&gt;client_id &lt;SPAN&gt;= &lt;/SPAN&gt;os.&lt;SPAN&gt;getenv&lt;/SPAN&gt;(&lt;SPAN&gt;'CLIENT_ID'&lt;/SPAN&gt;)&lt;BR /&gt;client_secret &lt;SPAN&gt;= &lt;/SPAN&gt;os.&lt;SPAN&gt;getenv&lt;/SPAN&gt;(&lt;SPAN&gt;'CLIENT_SECRET'&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_token&lt;/SPAN&gt;()&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;auth_string &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;client_id &lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;':' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;client_secret&lt;BR /&gt;    &lt;SPAN&gt;auth_bytes &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;auth_string&lt;/SPAN&gt;.&lt;SPAN&gt;encode&lt;/SPAN&gt;(&lt;SPAN&gt;'utf-8'&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;auth_base64 &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;(base64.&lt;SPAN&gt;b64encode&lt;/SPAN&gt;(&lt;SPAN&gt;auth_bytes&lt;/SPAN&gt;), &lt;SPAN&gt;'utf=8'&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;    &lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;'https://accounts.spotify.com/api/token'&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;headers &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;{&lt;BR /&gt;        &lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'Basic ' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;auth_base64&lt;/SPAN&gt;,&lt;BR /&gt;        &lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'application/x-www-form-urlencoded'&lt;BR /&gt;&lt;/SPAN&gt;    }&lt;BR /&gt;    &lt;SPAN&gt;data &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;{&lt;SPAN&gt;'grant_type'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'client_credentials'&lt;/SPAN&gt;}&lt;BR /&gt;    &lt;SPAN&gt;result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;post&lt;/SPAN&gt;(&lt;SPAN&gt;url&lt;/SPAN&gt;, &lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;, &lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;json_result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;json.&lt;SPAN&gt;loads&lt;/SPAN&gt;(&lt;SPAN&gt;result&lt;/SPAN&gt;.content)&lt;BR /&gt;    &lt;SPAN&gt;token &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;json_result&lt;/SPAN&gt;[&lt;SPAN&gt;'access_token'&lt;/SPAN&gt;]&lt;BR /&gt;    &lt;SPAN&gt;return &lt;/SPAN&gt;&lt;SPAN&gt;token&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;get_auth_header&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;)&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    return &lt;/SPAN&gt;{&lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;'Bearer ' &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def &lt;/SPAN&gt;&lt;SPAN&gt;search_for_artist&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;, &lt;SPAN&gt;artist_name&lt;/SPAN&gt;)&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;'https://api.spotify.com/v1/search'&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;headers &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get_auth_header&lt;/SPAN&gt;(&lt;SPAN&gt;token&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;query &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;f'?q={&lt;/SPAN&gt;&lt;SPAN&gt;artist_name&lt;/SPAN&gt;&lt;SPAN&gt;}&amp;amp;type=atrist&amp;amp;limit=1'&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;query_url &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;url &lt;/SPAN&gt;&lt;SPAN&gt;+ &lt;/SPAN&gt;&lt;SPAN&gt;query&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;    result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get&lt;/SPAN&gt;(&lt;SPAN&gt;query_url&lt;/SPAN&gt;, &lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;)&lt;BR /&gt;    &lt;SPAN&gt;json_result &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;json.&lt;SPAN&gt;loads&lt;/SPAN&gt;(&lt;SPAN&gt;result&lt;/SPAN&gt;.content)&lt;BR /&gt;    &lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;json_result&lt;/SPAN&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;(&lt;SPAN&gt;get_token&lt;/SPAN&gt;())&lt;BR /&gt;token &lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;get_token&lt;/SPAN&gt;()&lt;BR /&gt;&lt;SPAN&gt;search_for_artist&lt;/SPAN&gt;(&lt;SPAN&gt;'token'&lt;/SPAN&gt;, &lt;SPAN&gt;'ACDC'&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 10 Oct 2023 13:59:22 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/401-error/m-p/5649911#M11042</guid>
      <dc:creator>๖EEfect</dc:creator>
      <dc:date>2023-10-10T13:59:22Z</dc:date>
    </item>
    <item>
      <title>Re: 401 error</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/401-error/m-p/5650102#M11047</link>
      <description>&lt;P&gt;Thanks for posting your code. I see a couple of issues in your code:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Typo in the search_for_artist function. You have a typo in the type parameter. It should be 'artist' instead of 'atrist'.&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Incorrect function call in the last line. You are passing the string 'token' instead of the actual token variable.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Tue, 10 Oct 2023 19:03:52 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/401-error/m-p/5650102#M11047</guid>
      <dc:creator>Ximzend</dc:creator>
      <dc:date>2023-10-10T19:03:52Z</dc:date>
    </item>
  </channel>
</rss>

