Suggestion: API access for listener playback clients (Go+ subscribers) – Music Assistant / Home Assistant
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, openapi
- Ambito
- api
Direzione di ricerca
Start by reviewing the public API OpenAPI spec and the related issues #77, #577, and #590, which cover rate limits, stream access, and registration without Artist Pro. Compare the requested listener playback capabilities with the endpoints and access rules described in the spec. Done means deciding whether and how to support listener client registration, feed and personalized playlist access, subscription based streaming, and per user rate limits.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Who I am
I'm a paying SoundCloud Go+ subscriber. I don't upload music – I listen. I use SoundCloud through Music Assistant (https://music-assistant.io), the open-source music server that integrates with Home Assistant and streams to multiroom speakers.
The problem
Music Assistant's SoundCloud provider can't use the public API, so it relies on the internal api-v2 used by the web player. Users have to copy their client_id and oauth_token cookie from the browser dev tools. This breaks regularly (401 errors whenever the token or web client_id changes) and recently again when progressive MP3 transcodings were removed. It's fragile for us and surely not what SoundCloud wants either.
Moving to the public API isn't possible today because:
- App registration requires Artist Pro. A listener-side playback client has no reason to need an artist subscription. Every user of an open-source project would have to register their own app (the project can't ship a client secret), so every user would need Artist Pro – on top of Go+.
- Endpoints a listener client needs are missing (as far as I can tell from the OpenAPI spec).
What a playback client like Music Assistant needs
| Use case | Status in public API (my understanding) |
|---|---|
| Current user profile, likes (tracks/playlists), followings, own playlists | available |
| Search, resolve, track/playlist/user details, batch track lookup | available |
| Related tracks, user's top/popular tracks | partly available |
| Stream / feed of followed artists | missing |
| Personalized playlists / mixes (e.g. "Daily Drops", "Weekly Wave", discovery selections) | missing |
| Full-length, high-quality streams based on the listener's Go+ entitlement (via the user's OAuth token, HLS AAC is fine) | unclear / restricted |
What I'm asking for
- A way to register non-commercial playback/listener clients without Artist Pro, or tie access to the authenticated user's own subscription (Go+) instead of the developer's.
- Feed and personalized playlist endpoints in the public API, read-only, scoped to the authenticated user.
- Streaming entitlement based on the user's token, so Go+ subscribers get the full-length, high-quality streams they pay for in third-party players – the same as in the official apps.
- Per-user rate limits for apps used by many individual users with their own tokens.
Related (closed): #77 (per-app rate limits, Mopidy/Snapcast), #577 (stream URL requiring Artist Pro), #590 (non-commercial route without Artist Pro).
This would let projects like Music Assistant, Mopidy and others drop browser-scraping workarounds and use the API the intended way – while bringing paying listeners' SoundCloud into their home audio setups.
Thanks for considering!
- Lingua principale
- JavaScript
- Stelle
- 262
- Fork
- 52
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di soundcloud/api
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 52/100
soundcloud/api#610 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
soundcloud/api#607 · 5 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 44/100
soundcloud/api#606 · 6 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
soundcloud/api#600 · 4 commenti ·
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
soundcloud/api#597 · 1 reazione ·
Tutte le issue di soundcloud/api
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
riverqueue/river#1576 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
modrollstudio/Modroll-Studio-Website#80 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
mafzalkalwardev/mailforge#21 ·
-
good first issue help wanted
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100