How zmb3/spotify works
This repository is a Go client library for Spotify’s Web API. An application obtains OAuth credentials through the auth package, constructs a Client, then invokes endpoint methods for catalog discovery, user data, playlists, playback, and recommendations; those methods use shared HTTP transport to exchange requests and responses with Spotify. The endpoint families are supported by the README and file tree; transport and several endpoint calls are visible in sampled source, while unsampled endpoint wiring is represented only where the shared-client pattern is clear.
Main entry points: spotify.go HTTP transport · recommendation.go Recommendations · auth.go OAuth authenticator · search.go Search and paging
Components 19
Client and auth
- OAuth authenticator
auth/auth.go - API client
spotify.go - HTTP transport
spotify.go
Catalog and discovery
- Search and paging
search.go - Albums
album.go - Artists
artist.go - Tracks
track.go - Categories
category.go - Shows and episodes
show.go
User and playlists
- Profiles and library
user.go - Playlist management
playlist.go
Playback and audio
- Recommendations
recommendation.go - Tunable attributes
track_attributes.go - Audio features
audio_features.go - Audio analysis
audio_analysis.go - Playback control
player.go
Other components
- Application
- OAuth provider
- Spotify Web API
Connections 32
- Application → OAuth authenticator: configures OAuth
- OAuth authenticator → OAuth provider: exchanges tokens
- Application → API client: constructs and uses
- API client → HTTP transport: configures
- Application → Search and paging: requests results
- Application → Albums: requests catalog
- Application → Artists: requests catalog
- Application → Tracks: requests catalog
- Application → Categories: requests categories
- Application → Profiles and library: requests account data
- Application → Playlist management: manages playlists
- Application → Shows and episodes: requests episodes
- Application → Recommendations: requests suggestions
- Application → Tunable attributes: sets constraints
- Application → Audio features: requests audio data
- Application → Audio analysis: requests analysis
- Application → Playback control: controls playback
- Search and paging → HTTP transport: sends requests
- Albums → HTTP transport: sends requests
- Artists → HTTP transport: sends requests
- Tracks → HTTP transport: sends requests
- Categories → HTTP transport: sends requests
- Profiles and library → HTTP transport: sends requests
- Playlist management → HTTP transport: sends requests
- Shows and episodes → HTTP transport: sends requests
- Recommendations → HTTP transport: sends requests
- Audio features → HTTP transport: sends requests
- Audio analysis → HTTP transport: sends requests
- Playback control → HTTP transport: sends requests
- HTTP transport → Spotify Web API: HTTP requests
- Spotify Web API → HTTP transport: HTTP responses
- Tunable attributes → Recommendations: supplies constraints