Lizenz GPL-3.0-or-later und Anleitung zur Spotify-App
- LICENSE: offizieller GPL-3.0-Text - README: Lizenzhinweis, Hinweis auf fehlende Verbindung zu Spotify, Schritt-für-Schritt-Anleitung zur Spotify-App mit typischen Login-Fehlern Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,13 +32,66 @@ Portfreigabe am Router.
|
||||
## Voraussetzungen
|
||||
|
||||
1. **Spotify Premium** für das Konto, das abspielt.
|
||||
2. **Spotify-App** auf <https://developer.spotify.com/dashboard>:
|
||||
- App anlegen (Web API), Redirect-URI **`http://127.0.0.1:8888/callback`** eintragen
|
||||
- unter „User Management“ das eigene Spotify-Konto eintragen
|
||||
- Client ID und Client Secret bereithalten
|
||||
2. Eine eigene **Spotify-App** (kostenlos, ca. 5 Minuten) – siehe
|
||||
[Spotify-App anlegen](#spotify-app-anlegen). Eine App reicht für Server und Player.
|
||||
3. Eine **eigene Playlist** als Grund-Playlist (im Development Mode lassen sich nur eigene Playlists lesen).
|
||||
4. Für den Server eine **Domain**, deren A/AAAA-Record auf den Server zeigt.
|
||||
|
||||
## Spotify-App anlegen
|
||||
|
||||
Audiofy steuert Spotify über die offizielle Web API. Dafür braucht jede Installation eine
|
||||
eigene, kostenlose „App“ im Spotify-Developer-Bereich. Gäste brauchen nichts davon.
|
||||
|
||||
**Was du brauchst:** das Spotify-Konto, das später abspielt – mit **Premium**.
|
||||
Die Bezeichnungen im Dashboard können sich leicht ändern; sinngemäß:
|
||||
|
||||
1. **Anmelden:** <https://developer.spotify.com/dashboard> öffnen, mit dem Spotify-Konto
|
||||
einloggen und beim ersten Mal den Entwickler-Bedingungen zustimmen.
|
||||
2. **App erstellen:** „Create app“ wählen und ausfüllen:
|
||||
|
||||
| Feld | Eintrag |
|
||||
|---|---|
|
||||
| App name | z. B. `Audiofy` |
|
||||
| App description | z. B. `Musikwünsche für meine Party` |
|
||||
| Website | leer lassen |
|
||||
| **Redirect URI** | **`http://127.0.0.1:8888/callback`** – genau so, dann „Add“ |
|
||||
| Which API/SDKs | **Web API** |
|
||||
|
||||
Den Bedingungen zustimmen und speichern.
|
||||
Wichtig: `127.0.0.1` verwenden – Spotify akzeptiert `localhost` nicht mehr.
|
||||
3. **Zugangsdaten notieren:** In der App unter „Settings“ stehen die **Client ID** und –
|
||||
hinter „View client secret“ – das **Client Secret**. Beides fragen die Install-Skripte ab.
|
||||
Das Secret ist ein Passwort: nicht weitergeben, nicht in Chats oder Repositorys posten.
|
||||
4. **Konto freischalten:** Unter „User Management“ das Spotify-Konto eintragen, das
|
||||
abspielt (Name und die E-Mail-Adresse des Spotify-Kontos) – auch wenn es dein eigenes ist.
|
||||
5. **Fertig.** Bei der Installation fragen die Skripte Client ID und Secret ab und starten
|
||||
danach den **Spotify-Login**:
|
||||
- Die angezeigte Adresse in einem beliebigen Browser öffnen (auch am Handy) und anmelden.
|
||||
- Der Browser landet auf `http://127.0.0.1:8888/callback?code=…` und zeigt einen Fehler –
|
||||
**das ist normal.** Die komplette Adresse aus der Adresszeile kopieren und ins
|
||||
Terminal einfügen.
|
||||
- Server und Player melden sich jeweils einmal an (der Server nur für die Suche).
|
||||
|
||||
**Was der Development Mode bedeutet:** Neue Apps laufen im „Development Mode“. Dort gilt
|
||||
(Stand 2026): Der App-Besitzer braucht Premium, nur eingetragene Konten dürfen die App
|
||||
nutzen, die Suche liefert höchstens 10 Treffer, nur **eigene** Playlists sind lesbar, und
|
||||
die Nutzung muss **nicht kommerziell** sein. Für Audiofy reicht das völlig – abgespielt
|
||||
wird nur über dein eigenes Konto.
|
||||
|
||||
**Typische Fehler beim Login**
|
||||
|
||||
| Meldung | Lösung |
|
||||
|---|---|
|
||||
| `INVALID_CLIENT: Invalid redirect URI` | Redirect-URI im Dashboard muss exakt `http://127.0.0.1:8888/callback` lauten. |
|
||||
| „User not registered in the Developer Dashboard“ / 403 | Konto unter „User Management“ eintragen (Schritt 4). |
|
||||
| `invalid_client` / „Token-Anfrage fehlgeschlagen (400)“ | Client ID oder Secret falsch eingegeben. |
|
||||
| Abspielen scheitert mit „Premium required“ | Das Konto hat kein Premium. |
|
||||
| „State passt nicht“ | Adresse aus einem älteren Login-Versuch eingefügt – Login neu starten. |
|
||||
|
||||
**Secret erneuern** (falls es versehentlich öffentlich wurde): im Dashboard unter
|
||||
„Settings“ → „Rotate client secret“, dann den neuen Wert als `SPOTIFY_CLIENT_SECRET` in
|
||||
**beiden** `.env`-Dateien (Server und Player) eintragen und die Dienste neu starten.
|
||||
|
||||
## Installation
|
||||
|
||||
**Per Einzeiler** – als Benutzer mit sudo-Rechten (oder als root) in einem Terminal:
|
||||
@@ -164,12 +217,6 @@ kein root, nur ein Admin-Benutzer). Vorgehen:
|
||||
| Gäste: „Kein Zugang“ | Gastzugang im Admin eingeschaltet? Nach „Neuen Link erzeugen“ gilt nur der neue QR-Code. |
|
||||
| Zu viele Admin-Login-Versuche | 15 Minuten warten (max. 5 Versuche pro IP). |
|
||||
|
||||
## Spotify-Hinweise
|
||||
|
||||
Audiofy nutzt die Spotify Web API im **Development Mode** (nicht kommerziell). Dort gilt:
|
||||
Premium für den App-Besitzer, Nutzer-Allowlist, höchstens 10 Suchtreffer, nur eigene
|
||||
Playlists lesbar. Gäste melden sich nie bei Spotify an; Server und Player nutzen je einen
|
||||
eigenen Refresh-Token desselben Kontos.
|
||||
|
||||
## Entwicklung
|
||||
|
||||
@@ -182,4 +229,16 @@ cd ../player && python3 -m venv .venv && .venv/bin/pip install -r requirements.t
|
||||
|
||||
## Lizenz
|
||||
|
||||
Noch nicht festgelegt.
|
||||
Copyright © 2026 Dominic Alexander Windolph
|
||||
|
||||
Audiofy ist freie Software: Du kannst es unter den Bedingungen der **GNU General Public
|
||||
License**, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder
|
||||
verändern – entweder gemäß Version 3 der Lizenz oder (nach deiner Wahl) jeder späteren
|
||||
Version. Der vollständige Lizenztext steht in [`LICENSE`](LICENSE).
|
||||
|
||||
Audiofy wird in der Hoffnung verbreitet, dass es nützlich ist, aber **ohne jede
|
||||
Gewährleistung** – sogar ohne die implizite Gewährleistung der Marktreife oder der
|
||||
Eignung für einen bestimmten Zweck. Details stehen in der GNU General Public License.
|
||||
|
||||
Audiofy ist kein Produkt von Spotify und steht in keiner Verbindung zu Spotify AB.
|
||||
Spotify ist eine Marke der Spotify AB.
|
||||
|
||||
Reference in New Issue
Block a user