<?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 INVALID_CLIENT: invalid client in Spotify for Developers</title>
    <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5410735#M5135</link>
    <description>&lt;P&gt;I'm trying to develop a test app using Python and spotipy.&lt;/P&gt;&lt;P&gt;Everything worked fine yesterday. But today when the app tries to obtain a token, I'm getting a browser window opened saying "INVALID_CLIENT: Invalid client".&lt;/P&gt;&lt;P&gt;The actual code looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;import spotipy&lt;BR /&gt;[...]&lt;BR /&gt;scope="playlist-read-collaborative playlist-modify-public playlist-read-private playlist-modify-private user-read-email user-read-private user-library-modify user-library-read"&lt;BR /&gt;spotify=spotipy.Spotify(auth_manager=spotipy.SpotifyOAuth(&lt;BR /&gt;   client_id='1de87466we774e0a913abbe49181e718',&lt;BR /&gt;   client_secret='&amp;lt;my_secret_here&amp;gt;', &lt;BR /&gt;   scope=scope,&lt;BR /&gt;   redirect_uri="http://127.0.0.1:9009/"))&lt;BR /&gt;[...]&lt;BR /&gt;playlist=spotify.user_playlist_create('&amp;lt;myuser&amp;gt;',"Test playlist 1",public=True)&lt;BR /&gt;[...]&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As soon as I reach the playlist creation part, the library notices that it doesn't have current token so it tries to authenticate me to get one.&lt;/P&gt;&lt;P&gt;It ends with browser opening a window for&lt;/P&gt;&lt;PRE&gt;https://accounts.spotify.com/authorize?client_id=1de87466we774e0a913abbe49181e718&amp;amp;response_type=code&amp;amp;redirect_uri=http%3A%2F%2F127.0.0.1%3A9009%2F&amp;amp;scope=playlist-read-collaborative+playlist-modify-public+playlist-read-private+playlist-modify-private+user-read-email+user-read-private+user-library-modify+user-library-read&lt;/PRE&gt;&lt;P&gt;with said "INVALID_CLIENT: invalid client" message from a 400 Bad Request response.&lt;/P&gt;&lt;P&gt;The client id is the proper one - I did copy-paste it from my dashboard and I checked it several times. The secret also is OK (I even reset the secret just to be on the safe side).&lt;/P&gt;&lt;P&gt;The most interesting thing is that I think it used to work properly and now it's not working.&lt;/P&gt;&lt;P&gt;I thought that maybe the app got temporarily blocked because of hitting rate limits but as far as I know, the urllib3 on which spotipy is built honors the 429 and Retry-After header. Anyway I'd expect a 429 response instead of a 400 Bad Request&lt;/P&gt;&lt;P&gt;Any ideas? Because I'm stuck here &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 28 Jul 2022 15:06:57 GMT</pubDate>
    <dc:creator>spadajspadaj</dc:creator>
    <dc:date>2022-07-28T15:06:57Z</dc:date>
    <item>
      <title>INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5410735#M5135</link>
      <description>&lt;P&gt;I'm trying to develop a test app using Python and spotipy.&lt;/P&gt;&lt;P&gt;Everything worked fine yesterday. But today when the app tries to obtain a token, I'm getting a browser window opened saying "INVALID_CLIENT: Invalid client".&lt;/P&gt;&lt;P&gt;The actual code looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;import spotipy&lt;BR /&gt;[...]&lt;BR /&gt;scope="playlist-read-collaborative playlist-modify-public playlist-read-private playlist-modify-private user-read-email user-read-private user-library-modify user-library-read"&lt;BR /&gt;spotify=spotipy.Spotify(auth_manager=spotipy.SpotifyOAuth(&lt;BR /&gt;   client_id='1de87466we774e0a913abbe49181e718',&lt;BR /&gt;   client_secret='&amp;lt;my_secret_here&amp;gt;', &lt;BR /&gt;   scope=scope,&lt;BR /&gt;   redirect_uri="http://127.0.0.1:9009/"))&lt;BR /&gt;[...]&lt;BR /&gt;playlist=spotify.user_playlist_create('&amp;lt;myuser&amp;gt;',"Test playlist 1",public=True)&lt;BR /&gt;[...]&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As soon as I reach the playlist creation part, the library notices that it doesn't have current token so it tries to authenticate me to get one.&lt;/P&gt;&lt;P&gt;It ends with browser opening a window for&lt;/P&gt;&lt;PRE&gt;https://accounts.spotify.com/authorize?client_id=1de87466we774e0a913abbe49181e718&amp;amp;response_type=code&amp;amp;redirect_uri=http%3A%2F%2F127.0.0.1%3A9009%2F&amp;amp;scope=playlist-read-collaborative+playlist-modify-public+playlist-read-private+playlist-modify-private+user-read-email+user-read-private+user-library-modify+user-library-read&lt;/PRE&gt;&lt;P&gt;with said "INVALID_CLIENT: invalid client" message from a 400 Bad Request response.&lt;/P&gt;&lt;P&gt;The client id is the proper one - I did copy-paste it from my dashboard and I checked it several times. The secret also is OK (I even reset the secret just to be on the safe side).&lt;/P&gt;&lt;P&gt;The most interesting thing is that I think it used to work properly and now it's not working.&lt;/P&gt;&lt;P&gt;I thought that maybe the app got temporarily blocked because of hitting rate limits but as far as I know, the urllib3 on which spotipy is built honors the 429 and Retry-After header. Anyway I'd expect a 429 response instead of a 400 Bad Request&lt;/P&gt;&lt;P&gt;Any ideas? Because I'm stuck here &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jul 2022 15:06:57 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5410735#M5135</guid>
      <dc:creator>spadajspadaj</dc:creator>
      <dc:date>2022-07-28T15:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5410750#M5136</link>
      <description>&lt;P&gt;**bleep**. I feel so stupid. I must have checked it a thousand times and still got a typo. There is one "2" that somehow got changed into "w" in the client_id parameter. I have no idea how I managed to do it since I tried copy-pasting it to be sure that I didn't actually make a typo.&lt;/P&gt;&lt;P&gt;Anyway, it seems that's solved.&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jul 2022 15:51:17 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5410750#M5136</guid>
      <dc:creator>spadajspadaj</dc:creator>
      <dc:date>2022-07-28T15:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5657357#M11238</link>
      <description>&lt;P&gt;Im still having this exact problem, any adivice&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; openai&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; spotipy&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; spotipy.oauth2 &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; SpotifyOAuth&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt; &lt;SPAN&gt;json&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Load the API key from a file&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;with&lt;/SPAN&gt; &lt;SPAN&gt;open&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"key.txt"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"r"&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt; &lt;SPAN&gt;key_file&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;api_key&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;key_file&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;read&lt;/SPAN&gt;&lt;SPAN&gt;().&lt;/SPAN&gt;&lt;SPAN&gt;strip&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;openai&lt;/SPAN&gt;&lt;SPAN&gt;.api_key &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;api_key&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Define the user message&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;username&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Enter Spotify Username: "&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;book_name&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Enter Book Name/Movie Title: "&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;author_name&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Enter Author/Movie Director: "&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;book_input&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"based on the synopsis, country of origin, language, and vibe of the book, Please provide a filled-out JSON file in this format &lt;/SPAN&gt;&lt;SPAN&gt;{{\n&lt;/SPAN&gt; &lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;playlist_name&lt;/SPAN&gt;&lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;\"\"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;\n&lt;/SPAN&gt; &lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;playlist_description&lt;/SPAN&gt;&lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;\"\"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;\n&lt;/SPAN&gt; &lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;playlist_songs&lt;/SPAN&gt;&lt;SPAN&gt;\"&lt;/SPAN&gt;&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;SPAN&gt;\"\"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt;\n}}\n&lt;/SPAN&gt;&lt;SPAN&gt;With 10 songs from the last 50 years that fit the vibe of the book/movie &lt;/SPAN&gt;&lt;SPAN&gt;\"{&lt;/SPAN&gt;&lt;SPAN&gt;book_name&lt;/SPAN&gt;&lt;SPAN&gt;}\"&lt;/SPAN&gt;&lt;SPAN&gt; by &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;author_name&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; for the spotify api. Do not respond with anything other than the JSON file. If you can include songs from the soundtrack. The songs should be relevant to the intended audience, setting of book, etc.,. Do not respond with anything other than the JSON file."&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;user_message&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;SPAN&gt;"role"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"user"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"content"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;book_input&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a chat completion request&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;completion&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;openai&lt;/SPAN&gt;&lt;SPAN&gt;.ChatCompletion.create(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;model&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;'gpt-3.5-turbo'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;messages&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;user_message&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Extract and parse the assistant's reply as JSON&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;assistant_reply&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;completion&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'choices'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'message'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'content'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;playlist_info&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;json&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;loads&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;assistant_reply&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Spotify API credentials&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;client_id&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;'aaaaaaaaaa'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;client_secret&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;"bbbbbbbbbb"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;redirect_uri&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;A href="http://localhost:8080/" target="_blank"&gt;http://localhost:8080/&lt;/A&gt;"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# User-specific settings&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;scope&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;'playlist-modify-public'&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;try&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;# Authenticate with Spotify&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;token&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; SpotifyOAuth(&lt;/SPAN&gt;&lt;SPAN&gt;scope&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;scope&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;client_id&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;client_id&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;client_secret&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;client_secret&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;redirect_uri&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;redirect_uri&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;spotifyObject&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;spotipy&lt;/SPAN&gt;&lt;SPAN&gt;.Spotify(&lt;/SPAN&gt;&lt;SPAN&gt;auth_manager&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a new playlist&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;playlist_name&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;playlist_info&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'playlist_name'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;playlist_description&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;playlist_info&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'playlist_description'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;playlist&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;spotifyObject&lt;/SPAN&gt;&lt;SPAN&gt;.user_playlist_create(&lt;/SPAN&gt;&lt;SPAN&gt;user&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;playlist_name&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;True&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;description&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;playlist_description&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Playlist '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;playlist_name&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' created successfully!"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Add songs to the playlist&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;list_of_songs&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; []&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for&lt;/SPAN&gt; &lt;SPAN&gt;song&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;playlist_info&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'playlist_songs'&lt;/SPAN&gt;&lt;SPAN&gt;]:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;spotifyObject&lt;/SPAN&gt;&lt;SPAN&gt;.search(&lt;/SPAN&gt;&lt;SPAN&gt;q&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;song&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'tracks'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'items'&lt;/SPAN&gt;&lt;SPAN&gt;]:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;list_of_songs&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;append&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;result&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'tracks'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'items'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'uri'&lt;/SPAN&gt;&lt;SPAN&gt;])&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Find the new playlist&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;prePlaylist&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;spotifyObject&lt;/SPAN&gt;&lt;SPAN&gt;.user_playlists(&lt;/SPAN&gt;&lt;SPAN&gt;user&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;playlist_id&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;prePlaylist&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;'items'&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;'id'&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Add songs to the playlist&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;list_of_songs&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;spotifyObject&lt;/SPAN&gt;&lt;SPAN&gt;.user_playlist_add_tracks(&lt;/SPAN&gt;&lt;SPAN&gt;user&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;playlist_id&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;playlist_id&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;tracks&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;list_of_songs&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Songs added to the playlist '&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;playlist_name&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;' successfully!"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"No songs were added to the playlist."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;except&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt; &lt;SPAN&gt;as&lt;/SPAN&gt; &lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Error: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;e&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 25 Oct 2023 15:09:40 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5657357#M11238</guid>
      <dc:creator>wyanaveen</dc:creator>
      <dc:date>2023-10-25T15:09:40Z</dc:date>
    </item>
    <item>
      <title>Re: INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5657376#M11239</link>
      <description>&lt;P&gt;@wyanaveen, you can try to add the&amp;nbsp;&lt;EM&gt;playlist-modify-private&lt;/EM&gt; and the&amp;nbsp;&lt;EM&gt;playlist-read-private&lt;/EM&gt; scopes.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Oct 2023 16:00:44 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/5657376#M11239</guid>
      <dc:creator>Ximzend</dc:creator>
      <dc:date>2023-10-25T16:00:44Z</dc:date>
    </item>
    <item>
      <title>Re: INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/6306188#M14922</link>
      <description>&lt;P&gt;Well not come&lt;/P&gt;</description>
      <pubDate>Sat, 31 Aug 2024 18:20:30 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/6306188#M14922</guid>
      <dc:creator>Aniesh</dc:creator>
      <dc:date>2024-08-31T18:20:30Z</dc:date>
    </item>
    <item>
      <title>Re: INVALID_CLIENT: invalid client</title>
      <link>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/6940166#M17725</link>
      <description>&lt;P&gt;I have the same problem with "Authorization Code with PKCE Flow". Code can be obtained from Spotify but the POST-request for the access token fails. The error "&lt;SPAN&gt;invalid_client" does not say much.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I wanted to migrate from Implicit grant flow (which worked well) but it's a bit difficult with so little information. Could anybody achieve PKCE? Can Spotify provide more detailed information/error message, at least which data does not match? Would be much appreciated!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Apr 2025 22:20:51 GMT</pubDate>
      <guid>https://community.spotify.com/t5/Spotify-for-Developers/INVALID-CLIENT-invalid-client/m-p/6940166#M17725</guid>
      <dc:creator>kuendig</dc:creator>
      <dc:date>2025-04-29T22:20:51Z</dc:date>
    </item>
  </channel>
</rss>

