spl0k / supysonic

Supysonic is a Python implementation of the Subsonic server API.
https://supysonic.readthedocs.io
GNU Affero General Public License v3.0
263 stars 58 forks source link

LastFM scrobbling doesn't work? #105

Closed sprnza closed 6 years ago

sprnza commented 6 years ago

Is setting api_key and secret enough to get LastFM scrobbling working? I'm not able to get my stats updated on my lastfm profile.

sprnza commented 6 years ago

Aha! I've found a "Link" button at my account settings. When I press the button I get this error:

Invalid API key. If you are a third party developer see our authentication how-to to find out more.

The key is valid

sprnza commented 6 years ago

Actually I don't understand how it will work if I add my api_key and secret for system service. How it will distinguish what users to scrobble to?

spl0k commented 6 years ago

To get scrobbling to work, you have to:

When getting your keys from LastFM, you don't need to provide a callback URL or an application homepage. There was an issue when trying to link an account, this is now fixed. When you allow the application on LastFM, it seems to ignore whether supysonic is served over HTTP or HTTPS and redirect you to an HTTPS URI. If your supysonic instance isn't on HTTPS you'll have to manually change the URL LastFM is redirecting you to.

As for your last question: the keys you are getting from LastFM and putting in the configuration are only used to identify an application, not users. Each supysonic user can be linked to any LastFM user. By clicking the Link button in their supysonic profile, users are redirected to LastFM which ask them to log in and allow supysonic to act on their behalf. This generates a token which is then used to identify the user.

sprnza commented 6 years ago

Hi @spl0k ! Thanks for the guide. I've pulled the recent changes from the repo, restarted apache, cleared cache in my web browser. I'm unable to link my LastFM profile because a link in the "Link" buttom doesn't contain my api_key configured. So the link looks like this http://www.last.fm/api/auth/?api_key=&cb=https://mysupysonicaddress/user/me/lastfm/link I've tried to paste my api_key from the config to the link and open the resulting url. I get the granting page opened but next time I open supysonic web ui I get an error that my account is still unlinked because of a wrong api_key.

Upd: Here is the error from supysonic log:

LastFM error 10: Invalid API key - You must be granted a valid key by last.fm
sprnza commented 6 years ago

I've migrated to docker and I don't have the issue anymore. As soon as it seems to me that I had an extremely broken set up I close this.