mopidy / mopidy-soundcloud

Mopidy extension for playing music from SoundCloud
https://mopidy.com/ext/soundcloud/
MIT License
185 stars 59 forks source link

Reuse of client-id #115

Closed raveberry closed 4 years ago

raveberry commented 4 years ago

Hello mopidy-soundcloud developers,

I just updated my music server to include Soundcloud support. It uses mopidy-soundcloud for playback. As I need to get some metadata about songs and ids, I use the API to query for names, duration etc. Unfortunately, it is not possible to register a new app and receive a new client id, so I am using the one from your project. Since there is only a rate limit on play requests, and not on other calls, the additional metadata requests should not influence the functionality of this extension. The play-requests would have gone through this id anyway. Authentication tokens are freshly generated, of course. Even though I think that this should not be a problem, I wanted to inform you about this. If it turns out to have a bad impact on this extension, I will disable the feature again.

Thank you so much for your work, otherwise I couldn't have implemented this feature so easily.

kingosticks commented 4 years ago

It's not ideal Soundcloud have behaved like this and forced people down the route but we can't do much about it. So thanks for having the courtesy to let us know and not taking our user's credits. We've undoubtedly had problems with people using our client ID and then abusing it either accidentally or otherwise. Out of interest, how do you get a playable track URL if not through the rate-limited API call?

raveberry commented 4 years ago

I am not using the API to get a playable track, the playback still goes through mopidy-soundcloud. So these requests still count towards the rate limit. It's just the additional non-playback calls that I added which are not rate-limited.

kingosticks commented 4 years ago

Yep, I see now, you are using Mopidy itself here too.

It also looks like you are using our oauth endpoints for both Soundcloud and Spotify, is that intended to be a long-term solution?

raveberry commented 4 years ago

You are talking about https://mopidy.com/ext/soundcloud/ and https://mopidy.com/ext/spotify/, right? I chose to reuse the credentials generated there for my API calls, since users need to supply them for mopidy anyway. Otherwise they'd need to perform an additional step to create credentials for the Spotify web-api (soundcloud's web api only requires the client id). So yes, I intended to keep it that way. Is this problematic?

kingosticks commented 4 years ago

You can provide your own oauth bridge instance and I was just wondering if that's where you might be heading. But really this project is very much building on Mopidy, (which is great) so while I can't speak for those that actually pay the bills I would think that's fine. I do think we would appreciate more of a mention in your readme though, would that be reasonable?

I'm interested in giving the project a try, it looks like it does a lot of the things I wanted PiMusicbox to do. I'd love to be able to recommend Raveberry as the modern alternative.

raveberry commented 4 years ago

Sure, I will definitely add a mention in my readme. I heavily depend on this and some other projects, so a 'Special Thanks' section is overdue.

I just realized that you are the developer of Pi MusicBox, congratulations on your amazing work! I'm not (yet) comfortable enough to call Raveberry an alternative to Pi MusicBox, as it is not as mature. There are still some quirks and it does not always work out of the box as much as it should. I would feel honored if you gave it a try though.