Documentation
¶
Index ¶
- Constants
- func PlaylistTrackIDs(playlist *Playlist) []string
- type Album
- type Artist
- type CachingClient
- type NotFoundError
- type Playlist
- type PlaylistTrack
- type PlaylistVisibility
- type PrivateProfile
- type PublicProfile
- type Scope
- type SpotifyClient
- func (s *SpotifyClient) CreatePlaylist(userID, name string, visibility PlaylistVisibility) (*Playlist, error)
- func (s *SpotifyClient) FollowPlaylist(ownerID, playlistID string, public bool) (*http.Response, error)
- func (s *SpotifyClient) GetMyProfile() (*PrivateProfile, error)
- func (s *SpotifyClient) GetPlaylist(userID, playlistID string) (*Playlist, error)
- func (s *SpotifyClient) GetProfile(userID string) (*PublicProfile, error)
- func (s *SpotifyClient) ListMyPlaylists() ([]*Playlist, error)
- type Track
Constants ¶
View Source
const ( ScopePlaylistReadCollaborative Scope = "playlist-read-collaborative" ScopePlaylistModifyPublic = "playlist-modify-public" ScopePlaylistReadPrivate = "playlist-read-private" ScopePlaylistModifyPrivate = "playlist-modify-private" ScopeUserReadPrivate = "user-read-private" ScopeUserReadEmail = "user-read-email" ScopeUserFollowRead = "user-follow-read" ScopeUserFollowModify = "user-follow-modify" )
Variables ¶
This section is empty.
Functions ¶
func PlaylistTrackIDs ¶
PlaylistTrackIDs returns all track IDs in a playlist, lexically sorted.
Types ¶
type CachingClient ¶
type CachingClient struct {
// contains filtered or unexported fields
}
func NewCachingClient ¶
func NewCachingClient(client *SpotifyClient) *CachingClient
func (*CachingClient) GetPlaylist ¶
func (c *CachingClient) GetPlaylist(userID, playlistID string) (*Playlist, error)
func (*CachingClient) GetProfile ¶
func (c *CachingClient) GetProfile(userID string) (*PublicProfile, error)
type NotFoundError ¶
type NotFoundError struct {
// contains filtered or unexported fields
}
func (*NotFoundError) Error ¶
func (n *NotFoundError) Error() string
type Playlist ¶
type Playlist struct {
ID string `json:"id"`
Name string `json:"name"`
Owner *PublicProfile `json:"owner"`
SnapshotID string `json:"snapshot_id"`
Collaborative bool `json:"collaborative"`
ExternalURLs map[string]string `json:"external_urls"`
PlaylistTracks []*PlaylistTrack
RawTracks listPlaylistTracks `json:"tracks"`
}
type PlaylistTrack ¶
type PlaylistTrack struct {
Track *Track `json:"track"`
AddedAt time.Time `json:"added_at"`
AddedBy *PublicProfile `json:"added_by"`
}
type PlaylistVisibility ¶
type PlaylistVisibility int
const ( PlaylistPrivate PlaylistVisibility = iota PlaylistPublic PlaylistCollaborative )
type PrivateProfile ¶
type PublicProfile ¶
type SpotifyClient ¶
type SpotifyClient struct {
// contains filtered or unexported fields
}
func NewSpotifyClient ¶
func NewSpotifyClient(accessToken string) *SpotifyClient
func (*SpotifyClient) CreatePlaylist ¶
func (s *SpotifyClient) CreatePlaylist(userID, name string, visibility PlaylistVisibility) (*Playlist, error)
func (*SpotifyClient) FollowPlaylist ¶
func (*SpotifyClient) GetMyProfile ¶
func (s *SpotifyClient) GetMyProfile() (*PrivateProfile, error)
func (*SpotifyClient) GetPlaylist ¶
func (s *SpotifyClient) GetPlaylist(userID, playlistID string) (*Playlist, error)
func (*SpotifyClient) GetProfile ¶
func (s *SpotifyClient) GetProfile(userID string) (*PublicProfile, error)
func (*SpotifyClient) ListMyPlaylists ¶
func (s *SpotifyClient) ListMyPlaylists() ([]*Playlist, error)
Click to show internal directories.
Click to hide internal directories.