Automatisierung der monatlichen Spotify-Track-Archivierung und Playlist-Klassifizierung

Dieses n8n-Workflow dient der automatischen Archivierung Ihrer monatlichen Spotify-Hits in einem Google Sheet und der Klassifizierung in verschiedene Playlists.

Automatisierung der monatlichen Spotify-Track-Archivierung und Playlist-Klassifizierung

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Workflow Überblick

Dieser Workflow automatisiert den Prozess, monatlich die gemocht Tracks von Spotify in ein Google Sheet zu archivieren und diese Tracks in passende Playlists zu klassifizieren.

Node-Beschreibungen

1. Retrieve relevant info

  • Typ: Set
  • Funktion: Dieser Node speichert relevante Informationen wie Trackname, Künstler, Album und mehr in strukturierter JSON-Form.
  • Einstellungen: Im JSON-Ausgabefeld werden die Daten mit Platzhaltern formatiert, um die richtigen Werte zu extrahieren, was sicherstellt, dass die Ausgaben an die nachfolgenden Nodes weitergegeben werden können.

2. Batch preparation

  • Typ: Code
  • Funktion: Bereitet die Spotify-IDs der Tracks vor, indem sie diese in Gruppen von 100 aufteilt. Dies ist wichtig, da die Spotify API Anfragen in großen Mengen effizienter verarbeitet.
  • Code: const items = $input.all(); const trackSpotifyIds = items.map((item) => item?.json?.track_spotify_id); const aggregatedItems = []; for (let i = 0; i < trackSpotifyIds.length; i += 100) { aggregatedItems.push({ json: { trackSpotifyIds: trackSpotifyIds.slice(i, i + 100), }, }); } return aggregatedItems;

3. Get Track details

  • Typ: HTTP Request
  • Funktion: Ruft die Audio-Features der Tracks von der Spotify API ab.
  • URL: https://api.spotify.com/v1/audio-features
  • Authentifizierung: Verwendet vordefinierte Spotify-OAuth2-Anmeldeinformationen.
  • Details: Der Node sendet die trackSpotifyIds als Abfrageparameter.

4. Split Out

  • Typ: Split Out
  • Funktion: Teilt die Audio-Features für die Verarbeitung auf. Dies ermöglicht eine parallele Verarbeitung der Daten.

5. Anthropic Chat Model

  • Typ: LM Chat Anthropic
  • Funktion: Verwendet ein KI-Modell, um die klassifizierten Musikstücke zu verarbeiten.
  • Details: Der Node hat eine Temperatur von 0,3 für kontrollierte Ergebnisse und eine maximale Tokenanzahl von 8192.

6. Get Playlist

  • Typ: Spotify
  • Funktion: Ruft die Playlists des Benutzers ab.

7. Get Tracks

  • Typ: Spotify
  • Funktion: Ruft alle Tracks des Benutzers aus der Bibliothek ab.

8. Structured Output Parser

  • Typ: Ausgabe-Parser
  • Funktion: Analysiert die strukturierte Ausgabe, um die Track-Klassifizierungen zu formatieren.
  • Schemata: Definiert das Schema für Playlists.

9. Playlists informations

  • Typ: Set
  • Funktion: Setzt die Playlistinformationen in ein JSON-Format, das leicht verarbeitet werden kann.

10. Filter my playlist

  • Typ: Filter
  • Funktion: Filtert die Playlists basierend auf dem Eigentümer.

11. Merge

  • Typ: Merge
  • Funktion: Kombiniert die Trackinformationen mit ihren Audio-Features.

12. Simplify Tracks informations

  • Typ: Set
  • Funktion: Vereinfacht die Trackinformationen, um nur relevante Felder auszuwählen.

13. Log new tracks

  • Typ: Google Sheets
  • Funktion: Loggt neue Tracks in ein Google Sheet.

14. Excluding logged tracks

  • Typ: Merge
  • Funktion: Schließt bereits geloggte Tracks aus, um Doppelungen zu vermeiden.

15. Update Spotify Playlists

  • Typ: Spotify
  • Funktion: Aktualisiert die Benutzer-Playlists mit neuen Tracks.

16. Classify new tracks

  • Typ: No Operation
  • Funktion: Kennzeichnet, dass neue Tracks verarbeitet werden.

Ergebnis

Dieser Workflow ermöglicht die effektive und automatisierte Archivierung und Klassifizierung von Spotify-Tracks, indem er Daten aus der Spotify-API extrahiert, analysiert und in Google Sheets dokumentiert. Das Ergebnis ist eine organisierte und gefilterte Auswahl an Tracks, die gemäß ihrer Klassifikationen in die jeweiligen Listen eingefügt werden.

Facebook
Twitter
LinkedIn

Andere Projekte