clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.72k stars 671 forks source link

can't connect on spotify account #7079

Open ghost opened 3 years ago

ghost commented 3 years ago

OS VERSION:

Debian 11 Bullseye

Hi, I'm having problem connecting my spotify premium account with Clementine. System is doing infinite progress bar loading, but can't login on premium account. Here some screenshoots of problem: image image

could you please check?

Thanks. Ricky.

viewsourc3 commented 2 years ago

Unfortunately, #6709 seems to indicate that the Spotify integration is deprecated.

Learning5Life commented 2 years ago

I can confirm that this problem exists on Pop_OS! 21.04 too.

System information

Please provide information about your system and the version of Clementine used.

Expected behaviour / actual behaviour

Expected behaviour:

Actual behaviour:

Steps to reproduce the problem (only for bugs)

  1. Download Spotify Plugin
  2. Enter sign-in details
  3. Click "Login"
kblaschke commented 2 years ago

Unfortunately, #6709 seems to indicate that the Spotify integration is deprecated.

Yes, Clementine uses libspotify, and the API was deprecated a long time ago and is now completely defunct - Spotify simply pulled the plug. Spotify also said they would release a new library/SDK "soon", but that never happened. There are now only SDKs for Web, iOS and Android.

Since their protocols aren't publicly documented and they use DRM (it's just a very simple one-key-per-track encryption), it's not really possible to use the API in Clementine or any other player without violating their terms of service or risking a takedown.

There's only LibreSpot for now, which is a library written in Rust that only supports playing titles via Spotify Connect, but has no other features like searching, getting playlists etc, so it is of no real use in Clementine.

I'd simply remove Spotify support from Clementine and add it back if either Spotify release a new SDK or someone comes up with a legal open-source implementation of the whole protocol.

seemoss commented 2 years ago

For what it's worth, Spotify connectivity still works fine in Clementine using the blob. What you may be missing are a couple of QT4 libraries that either Clementine or the blob needs. If you startup Clementine from a terminal and try to login you'll see Clementine's debug output saying it can't find libQtCore.so.4 and then libQtNetwork.so.4.

These are old libraries so they may not be available in your distribution but if you can find them in old repos you can just copy them into the Clementine spotify blob directory and authentication should then work. For example, I also run Debian 11 (bullseye) so I copied these two QT4 libraries from my Debian 10 (buster) installation into:

~/.config/Clementine/spotifyblob/version16-64bit/

kblaschke commented 2 years ago

Seems to be correct, it's loading these library with dlopen():

~/.config/Clementine/spotifyblob/version16-64bit/blob: error while loading shared libraries: libQtCore.so.4: cannot open shared object file: No such file or directory

In any case I personally wouldn't recommend installing these old libraries as they have numerous unpatched security issues. Better use the official player which wasn't available for Linux at the time the Sporitfy plug-in was added to Clementine. It also works without a paid account if you can accept ads.

nicholasmoller commented 2 years ago

For those that happen to find this issue, Spotify sunset the libspotify c library on May 16, 2022

seemoss commented 2 years ago

For those that happen to find this issue, Spotify sunset the libspotify c library on May 16, 2022

Confirming that I can no longer login to my Spotify premium account in Clementine (Version 1.4.0rc1-826-gbebd0b5d3). When I enter my Spotify credentials in Clementine's preferences and click Login I get an immediate Spotify login error dialog with "Needs a premium account" and on stdout I see:

10:27:30.429 INFO  SpotifyService:355               Starting "/home/user/.config/Clementine/spotifyblob/version16-64bit/blob"
10:27:30.449 DEBUG SpotifyClient:84                 Using: "/home/user/.cache/Clementine/spotify-cache" for Spotify cache 
10:27:30.449 DEBUG SpotifyClient:86                 Using: "/home/user/.config/Clementine/spotify-settings" for Spotify settings 
10:27:30.449 DEBUG SpotifyClient:114                Connecting to port 42989 
10:27:30.449 INFO  SpotifyServer:52                 Connection from port 53162
10:27:30.450 DEBUG SpotifyClient:321                Setting playback settings: bitrate 1 normalisation false 
10:27:30.495 DEBUG SpotifyClient:167                libspotify: "16:27:30.495 I [ap:1752] Connecting to AP ap.spotify.com:4070" 
10:27:30.516 DEBUG SpotifyClient:167                libspotify: "16:27:30.516 I [ap:1226] Connected to AP: 104.154.127.126:4070" 
10:27:30.622 DEBUG SpotifyClient:167                libspotify: "16:27:30.622 E [ap:3915] Connection error:  409" 
10:27:30.623 WARN  SpotifyClient:127                Failed to login Needs a premium account 

Any plans to update Clementine to work with the Spotify Web Playback SDK? I see SpotifyWebApi listed in the Internet tab...

Merulox commented 1 year ago

I impulsively purchased premium after I saw Clementine's Spotify integration... yikes...

PVasileff commented 1 year ago

up 2023.. anything new here about fix spotify and clementine integration?

johnmee commented 1 year ago

@PVasileff The spotify functionality has been removed. They can probably close this ticket.

As mentioned by @nicholasmoller, if we want spotify back someone will have to rebuild the extension, or a C library, to interact with spotify's web API. Someone might like to search for/open a ticket for that (and do the work :-)

vpzomtrrfrt commented 10 months ago

if it's gone that should be reflected on the website

fitojb commented 10 months ago

Website issues are tracked in a separate repo. I might open a PR there if nobody beats me to it.