Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlbumResponseType ¶
type AlbumResponseType struct {
Data struct {
AlbumUnion struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Artists struct {
TotalCount int `json:"totalCount"`
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"avatarImage"`
} `json:"visuals"`
SharingInfo struct {
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"items"`
} `json:"artists"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
ColorLight struct {
Hex string `json:"hex"`
} `json:"colorLight"`
ColorDark struct {
Hex string `json:"hex"`
} `json:"colorDark"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Discs struct {
TotalCount int `json:"totalCount"`
Items []struct {
Number int `json:"number"`
Tracks struct {
TotalCount int `json:"totalCount"`
} `json:"tracks"`
} `json:"items"`
} `json:"discs"`
Releases struct {
TotalCount int `json:"totalCount"`
Items []any `json:"items"`
} `json:"releases"`
Type string `json:"type"`
Date struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
} `json:"date"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
Label string `json:"label"`
Copyright struct {
TotalCount int `json:"totalCount"`
Items []struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"items"`
} `json:"copyright"`
CourtesyLine string `json:"courtesyLine"`
Saved bool `json:"saved"`
SharingInfo struct {
ShareURL string `json:"shareUrl"`
ShareID string `json:"shareId"`
} `json:"sharingInfo"`
Tracks struct {
TotalCount int `json:"totalCount"`
Items []AlbumTrackResponseType `json:"items"`
} `json:"tracks"`
MoreAlbumsByArtist struct {
Items []struct {
Discography struct {
PopularReleasesAlbums struct {
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Date struct {
Year int `json:"year"`
} `json:"date"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
Type string `json:"type"`
} `json:"items"`
} `json:"popularReleasesAlbums"`
} `json:"discography"`
} `json:"items"`
} `json:"moreAlbumsByArtist"`
} `json:"albumUnion"`
} `json:"data"`
Extensions struct {
} `json:"extensions"`
}
type AlbumTrackResponseType ¶
type AlbumTrackResponseType struct {
UID string `json:"uid"`
Track struct {
Saved bool `json:"saved"`
URI string `json:"uri"`
Name string `json:"name"`
Playcount string `json:"playcount"`
DiscNumber int `json:"discNumber"`
TrackNumber int `json:"trackNumber"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
RelinkingInformation any `json:"relinkingInformation"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
} `json:"track"`
}
type Artist ¶
type Artist struct {
ID string `json:"id"`
URI string `json:"uri"`
Visuals struct {
AvatarImage struct {
Sources []struct {
Width int `json:"width"`
Height int `json:"height"`
URL string `json:"url"`
} `json:"sources"`
} `json:"avatarImage"`
} `json:"visuals"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
Discography struct {
Singles struct {
TotalCount int `json:"totalCount"`
Items []struct {
Releases struct {
Items []struct {
Name string `json:"name"`
Type string `json:"type"`
URI string `json:"uri"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Date struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
Year int `json:"year"`
} `json:"date"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
Tracks struct {
TotalCount int `json:"totalCount"`
Items []struct {
Track struct {
URI string `json:"uri"`
TrackNumber int `json:"trackNumber"`
} `json:"track"`
} `json:"items"`
} `json:"tracks"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"items"`
} `json:"releases"`
} `json:"items"`
} `json:"singles"`
Albums struct {
TotalCount int `json:"totalCount"`
Items []struct {
Releases struct {
Items []struct {
Name string `json:"name"`
Type string `json:"type"`
URI string `json:"uri"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Date struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
Year int `json:"year"`
} `json:"date"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
Tracks struct {
TotalCount int `json:"totalCount"`
Items []struct {
Track struct {
URI string `json:"uri"`
TrackNumber int `json:"trackNumber"`
} `json:"track"`
} `json:"items"`
} `json:"tracks"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"items"`
} `json:"releases"`
} `json:"items"`
} `json:"albums"`
PopularReleasesAlbums struct {
Items []struct {
Name string `json:"name"`
Type string `json:"type"`
URI string `json:"uri"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Date struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
Year int `json:"year"`
} `json:"date"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
Tracks struct {
TotalCount int `json:"totalCount"`
Items []struct {
Track struct {
URI string `json:"uri"`
TrackNumber int `json:"trackNumber"`
} `json:"track"`
} `json:"items"`
} `json:"tracks"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"items"`
} `json:"popularReleasesAlbums"`
TopTracks struct {
Items []struct {
Track struct {
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
AlbumOfTrack struct {
Name string `json:"name"`
URI string `json:"uri"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"albumOfTrack"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Playcount string `json:"playcount"`
Previews struct {
AudioPreviews struct {
Items []struct {
URL string `json:"url"`
} `json:"items"`
} `json:"audioPreviews"`
} `json:"previews"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Name string `json:"name"`
URI string `json:"uri"`
ID string `json:"id"`
} `json:"track"`
} `json:"items"`
} `json:"topTracks"`
} `json:"discography"`
RelatedContent struct {
RelatedArtists struct {
TotalCount int `json:"totalCount"`
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
Width int `json:"width"`
Height int `json:"height"`
URL string `json:"url"`
} `json:"sources"`
} `json:"avatarImage"`
} `json:"visuals"`
} `json:"items"`
} `json:"relatedArtists"`
} `json:"relatedContent"`
}
type ArtistResponseType ¶
type ArtistResponseType struct {
Data struct {
ArtistUnion struct {
Typename string `json:"__typename"`
ID string `json:"id"`
URI string `json:"uri"`
Saved bool `json:"saved"`
SharingInfo struct {
ShareURL string `json:"shareUrl"`
ShareID string `json:"shareId"`
} `json:"sharingInfo"`
Profile struct {
Name string `json:"name"`
Verified bool `json:"verified"`
PinnedItem struct {
Comment string `json:"comment"`
Type string `json:"type"`
BackgroundImage struct {
Sources []struct {
URL string `json:"url"`
} `json:"sources"`
} `json:"backgroundImage"`
ItemV2 struct {
} `json:"itemV2"`
Item struct {
URI string `json:"uri"`
Name string `json:"name"`
Images struct {
Items []struct {
Sources []struct {
URL string `json:"url"`
Width any `json:"width"`
Height any `json:"height"`
} `json:"sources"`
} `json:"items"`
} `json:"images"`
} `json:"item"`
} `json:"pinnedItem"`
Biography struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"biography"`
ExternalLinks struct {
Items []struct {
Name string `json:"name"`
URL string `json:"url"`
} `json:"items"`
} `json:"externalLinks"`
PlaylistsV2 struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Description string `json:"description"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
} `json:"data"`
} `json:"ownerV2"`
Images struct {
Items []struct {
Sources []struct {
URL string `json:"url"`
Width any `json:"width"`
Height any `json:"height"`
} `json:"sources"`
} `json:"items"`
} `json:"images"`
} `json:"data"`
} `json:"items"`
} `json:"playlistsV2"`
} `json:"profile"`
Visuals struct {
Gallery struct {
Items []any `json:"items"`
} `json:"gallery"`
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
} `json:"avatarImage"`
HeaderImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
} `json:"headerImage"`
} `json:"visuals"`
Discography struct {
Latest struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Type string `json:"type"`
Copyright struct {
Items []struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"items"`
} `json:"copyright"`
Date struct {
Year int `json:"year"`
Month int `json:"month"`
Day int `json:"day"`
Precision string `json:"precision"`
} `json:"date"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Tracks struct {
TotalCount int `json:"totalCount"`
} `json:"tracks"`
Label string `json:"label"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"latest"`
PopularReleasesAlbums struct {
TotalCount int `json:"totalCount"`
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Type string `json:"type"`
Copyright struct {
Items []struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"items"`
} `json:"copyright"`
Date struct {
Year int `json:"year"`
Month int `json:"month"`
Day int `json:"day"`
Precision string `json:"precision"`
} `json:"date"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Tracks struct {
TotalCount int `json:"totalCount"`
} `json:"tracks"`
Label string `json:"label"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"items"`
} `json:"popularReleasesAlbums"`
Singles struct {
TotalCount int `json:"totalCount"`
Items []struct {
Releases struct {
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Type string `json:"type"`
Copyright struct {
Items []struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"items"`
} `json:"copyright"`
Date struct {
Year int `json:"year"`
Month int `json:"month"`
Day int `json:"day"`
Precision string `json:"precision"`
} `json:"date"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Tracks struct {
TotalCount int `json:"totalCount"`
} `json:"tracks"`
Label string `json:"label"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"items"`
} `json:"releases"`
} `json:"items"`
} `json:"singles"`
Albums struct {
TotalCount int `json:"totalCount"`
Items []struct {
Releases struct {
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Type string `json:"type"`
Copyright struct {
Items []struct {
Type string `json:"type"`
Text string `json:"text"`
} `json:"items"`
} `json:"copyright"`
Date struct {
Year int `json:"year"`
Month int `json:"month"`
Day int `json:"day"`
Precision string `json:"precision"`
} `json:"date"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Tracks struct {
TotalCount int `json:"totalCount"`
} `json:"tracks"`
Label string `json:"label"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"items"`
} `json:"releases"`
} `json:"items"`
} `json:"albums"`
Compilations struct {
TotalCount int `json:"totalCount"`
Items []any `json:"items"`
} `json:"compilations"`
TopTracks struct {
Items []struct {
UID string `json:"uid"`
Track struct {
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
Playcount string `json:"playcount"`
DiscNumber int `json:"discNumber"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
AlbumOfTrack struct {
URI string `json:"uri"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"albumOfTrack"`
} `json:"track"`
} `json:"items"`
} `json:"topTracks"`
} `json:"discography"`
Stats struct {
Followers int `json:"followers"`
MonthlyListeners int `json:"monthlyListeners"`
WorldRank int `json:"worldRank"`
TopCities struct {
Items []struct {
NumberOfListeners int `json:"numberOfListeners"`
City string `json:"city"`
Country string `json:"country"`
Region string `json:"region"`
} `json:"items"`
} `json:"topCities"`
} `json:"stats"`
RelatedContent struct {
AppearsOn struct {
TotalCount int `json:"totalCount"`
Items []struct {
Releases struct {
TotalCount int `json:"totalCount"`
Items []struct {
URI string `json:"uri"`
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
Date struct {
Year int `json:"year"`
} `json:"date"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
} `json:"items"`
} `json:"releases"`
} `json:"items"`
} `json:"appearsOn"`
FeaturingV2 struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
} `json:"data"`
} `json:"ownerV2"`
Name string `json:"name"`
Description string `json:"description"`
Images struct {
TotalCount int `json:"totalCount"`
Items []struct {
Sources []struct {
URL string `json:"url"`
Width any `json:"width"`
Height any `json:"height"`
} `json:"sources"`
} `json:"items"`
} `json:"images"`
} `json:"data"`
} `json:"items"`
} `json:"featuringV2"`
DiscoveredOnV2 struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
} `json:"data"`
} `json:"ownerV2"`
Name string `json:"name"`
Description string `json:"description"`
Images struct {
TotalCount int `json:"totalCount"`
Items []struct {
Sources []struct {
URL string `json:"url"`
Width any `json:"width"`
Height any `json:"height"`
} `json:"sources"`
} `json:"items"`
} `json:"images"`
} `json:"data"`
} `json:"items"`
} `json:"discoveredOnV2"`
RelatedArtists struct {
TotalCount int `json:"totalCount"`
Items []struct {
ID string `json:"id"`
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"avatarImage"`
} `json:"visuals"`
} `json:"items"`
} `json:"relatedArtists"`
} `json:"relatedContent"`
Goods struct {
Events struct {
UserLocation struct {
Name string `json:"name"`
} `json:"userLocation"`
Concerts struct {
TotalCount int `json:"totalCount"`
Items []any `json:"items"`
PagingInfo struct {
Limit int `json:"limit"`
} `json:"pagingInfo"`
} `json:"concerts"`
} `json:"events"`
Merch struct {
Items []any `json:"items"`
} `json:"merch"`
} `json:"goods"`
} `json:"artistUnion"`
} `json:"data"`
Extensions struct {
} `json:"extensions"`
}
type GrantedToken ¶
type PlaylistResponse ¶
type PlaylistResponse struct {
Data struct {
PlaylistV2 struct {
Typename string `json:"__typename"`
Content struct {
Typename string `json:"__typename"`
TotalCount int `json:"totalCount"`
PagingInfo struct {
Offset int `json:"offset"`
Limit int `json:"limit"`
} `json:"pagingInfo"`
Items []struct {
UID string `json:"uid"`
AddedAt struct {
IsoString time.Time `json:"isoString"`
} `json:"addedAt"`
AddedBy any `json:"addedBy"`
Attributes []struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"attributes"`
ItemV2 struct {
Typename string `json:"__typename"`
Data PlaylistTrack `json:"data"`
} `json:"itemV2"`
} `json:"items"`
} `json:"content"`
} `json:"playlistV2"`
} `json:"data"`
Extensions struct {
} `json:"extensions"`
}
type PlaylistTrack ¶
type PlaylistTrack struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
TrackDuration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"trackDuration"`
Playcount string `json:"playcount"`
AlbumOfTrack struct {
URI string `json:"uri"`
Name string `json:"name"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"albumOfTrack"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
DiscNumber int `json:"discNumber"`
TrackNumber int `json:"trackNumber"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
}
type ResponseClientId ¶
type ResponseClientId struct {
ResponseType string `json:"response_type"`
GrantedToken GrantedToken `json:"granted_token"`
}
type ResponseClientToken ¶
type SearchResponseType ¶ added in v1.0.8
type SearchResponseType struct {
Data struct {
SearchV2 struct {
Albums struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
Date struct {
Year int `json:"year"`
} `json:"date"`
} `json:"data"`
} `json:"items"`
} `json:"albums"`
Artists struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
Verified bool `json:"verified"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"avatarImage"`
} `json:"visuals"`
} `json:"data"`
} `json:"items"`
} `json:"artists"`
Episodes struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
ReleaseDate struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
} `json:"releaseDate"`
PlayedState struct {
PlayPositionMilliseconds int `json:"playPositionMilliseconds"`
State string `json:"state"`
} `json:"playedState"`
MediaTypes []string `json:"mediaTypes"`
PodcastV2 struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
MediaType string `json:"mediaType"`
Publisher struct {
Name string `json:"name"`
} `json:"publisher"`
} `json:"data"`
} `json:"podcastV2"`
Description string `json:"description"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
} `json:"data"`
} `json:"items"`
} `json:"episodes"`
Genres struct {
TotalCount int `json:"totalCount"`
Items []interface{} `json:"items"`
} `json:"genres"`
Playlists struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Description string `json:"description"`
Images struct {
Items []struct {
Sources []struct {
URL string `json:"url"`
Width interface{} `json:"width"`
Height interface{} `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"items"`
} `json:"images"`
Format string `json:"format"`
Attributes []interface{} `json:"attributes"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
URI string `json:"uri"`
Username string `json:"username"`
Avatar struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"avatar"`
} `json:"data"`
} `json:"ownerV2"`
} `json:"data"`
} `json:"items"`
} `json:"playlists"`
Podcasts struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
Publisher struct {
Name string `json:"name"`
} `json:"publisher"`
MediaType string `json:"mediaType"`
Topics struct {
Items []interface{} `json:"items"`
} `json:"topics"`
} `json:"data"`
} `json:"items"`
} `json:"podcasts"`
TracksV2 struct {
TotalCount int `json:"totalCount"`
Items []struct {
MatchedFields []string `json:"matchedFields"`
Item struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
Name string `json:"name"`
AlbumOfTrack struct {
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
ID string `json:"id"`
} `json:"albumOfTrack"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Associations struct {
AssociatedVideos struct {
TotalCount int `json:"totalCount"`
} `json:"associatedVideos"`
} `json:"associations"`
} `json:"data"`
} `json:"item"`
} `json:"items"`
} `json:"tracksV2"`
Users struct {
TotalCount int `json:"totalCount"`
Items []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
DisplayName string `json:"displayName"`
Username string `json:"username"`
Avatar struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"avatar"`
} `json:"data"`
} `json:"items"`
} `json:"users"`
TopResults struct {
ItemsV2 []struct {
MatchedFields []interface{} `json:"matchedFields"`
Item struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
Name string `json:"name"`
Profile struct {
Name string `json:"name"`
Verified bool `json:"verified"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"avatarImage"`
} `json:"visuals"`
AlbumOfTrack struct {
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
ID string `json:"id"`
} `json:"albumOfTrack"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Associations struct {
AssociatedVideos struct {
TotalCount int `json:"totalCount"`
} `json:"associatedVideos"`
} `json:"associations"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
Date struct {
Year int `json:"year"`
} `json:"date"`
} `json:"data"`
} `json:"item"`
} `json:"itemsV2"`
Featured []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Description string `json:"description"`
Images struct {
Items []struct {
Sources []struct {
URL string `json:"url"`
Width interface{} `json:"width"`
Height interface{} `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"items"`
} `json:"images"`
Format string `json:"format"`
Attributes []struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"attributes"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
URI string `json:"uri"`
Username string `json:"username"`
Avatar struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"avatar"`
} `json:"data"`
} `json:"ownerV2"`
} `json:"data"`
} `json:"featured"`
} `json:"topResults"`
} `json:"searchV2"`
} `json:"data"`
Extensions struct {
RequestIds struct {
SearchV2 struct {
SearchAPI string `json:"search-api"`
} `json:"/searchV2"`
SearchV2TopResults struct {
SearchAPI string `json:"search-api"`
} `json:"/searchV2/topResults"`
} `json:"requestIds"`
} `json:"extensions"`
}
type SearchTopResultsResponseType ¶ added in v1.0.8
type SearchTopResultsResponseType struct {
TopResults struct {
ItemsV2 []struct {
MatchedFields []interface{} `json:"matchedFields"`
Item struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
ID string `json:"id"`
Name string `json:"name"`
Profile struct {
Name string `json:"name"`
Verified bool `json:"verified"`
} `json:"profile"`
Visuals struct {
AvatarImage struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"avatarImage"`
} `json:"visuals"`
AlbumOfTrack struct {
URI string `json:"uri"`
Name string `json:"name"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
ID string `json:"id"`
} `json:"albumOfTrack"`
Artists struct {
Items []struct {
URI string `json:"uri"`
Profile struct {
Name string `json:"name"`
} `json:"profile"`
} `json:"items"`
} `json:"artists"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Associations struct {
AssociatedVideos struct {
TotalCount int `json:"totalCount"`
} `json:"associatedVideos"`
} `json:"associations"`
CoverArt struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"coverArt"`
Date struct {
Year int `json:"year"`
} `json:"date"`
} `json:"data"`
} `json:"item"`
} `json:"itemsV2"`
Featured []struct {
Data struct {
Typename string `json:"__typename"`
URI string `json:"uri"`
Name string `json:"name"`
Description string `json:"description"`
Images struct {
Items []struct {
Sources []struct {
URL string `json:"url"`
Width interface{} `json:"width"`
Height interface{} `json:"height"`
} `json:"sources"`
ExtractedColors struct {
ColorDark struct {
Hex string `json:"hex"`
IsFallback bool `json:"isFallback"`
} `json:"colorDark"`
} `json:"extractedColors"`
} `json:"items"`
} `json:"images"`
Format string `json:"format"`
Attributes []struct {
Key string `json:"key"`
Value string `json:"value"`
} `json:"attributes"`
OwnerV2 struct {
Data struct {
Typename string `json:"__typename"`
Name string `json:"name"`
URI string `json:"uri"`
Username string `json:"username"`
Avatar struct {
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"avatar"`
} `json:"data"`
} `json:"ownerV2"`
} `json:"data"`
} `json:"featured"`
} `json:"topResults"`
Extensions struct {
RequestIds struct {
SearchV2 struct {
SearchAPI string `json:"search-api"`
} `json:"/searchV2"`
SearchV2TopResults struct {
SearchAPI string `json:"search-api"`
} `json:"/searchV2/topResults"`
} `json:"requestIds"`
} `json:"extensions"`
}
type TrackPlayCount ¶
type TrackResponse ¶
type TrackResponse struct {
Data struct {
TrackUnion struct {
Typename string `json:"__typename"`
ID string `json:"id"`
URI string `json:"uri"`
Name string `json:"name"`
ContentRating struct {
Label string `json:"label"`
} `json:"contentRating"`
Duration struct {
TotalMilliseconds int `json:"totalMilliseconds"`
} `json:"duration"`
Playability struct {
Playable bool `json:"playable"`
Reason string `json:"reason"`
} `json:"playability"`
TrackNumber int `json:"trackNumber"`
Playcount string `json:"playcount"`
Saved bool `json:"saved"`
SharingInfo struct {
ShareURL string `json:"shareUrl"`
ShareID string `json:"shareId"`
} `json:"sharingInfo"`
FirstArtist struct {
TotalCount int `json:"totalCount"`
Items []Artist `json:"items"`
} `json:"firstArtist"`
OtherArtists struct {
Items []Artist `json:"items"`
} `json:"otherArtists"`
AlbumOfTrack struct {
ID string `json:"id"`
Copyright struct {
TotalCount int `json:"totalCount"`
Items []struct {
Text string `json:"text"`
Type string `json:"type"`
} `json:"items"`
} `json:"copyright"`
CourtesyLine string `json:"courtesyLine"`
Name string `json:"name"`
Type string `json:"type"`
URI string `json:"uri"`
Playability struct {
Playable bool `json:"playable"`
} `json:"playability"`
Date struct {
IsoString time.Time `json:"isoString"`
Precision string `json:"precision"`
Year int `json:"year"`
} `json:"date"`
SharingInfo struct {
ShareID string `json:"shareId"`
ShareURL string `json:"shareUrl"`
} `json:"sharingInfo"`
Tracks struct {
TotalCount int `json:"totalCount"`
Items []struct {
Track struct {
URI string `json:"uri"`
TrackNumber int `json:"trackNumber"`
} `json:"track"`
} `json:"items"`
} `json:"tracks"`
CoverArt struct {
ExtractedColors struct {
ColorRaw struct {
Hex string `json:"hex"`
} `json:"colorRaw"`
} `json:"extractedColors"`
Sources []struct {
URL string `json:"url"`
Width int `json:"width"`
Height int `json:"height"`
} `json:"sources"`
} `json:"coverArt"`
} `json:"albumOfTrack"`
} `json:"trackUnion"`
} `json:"data"`
Extensions struct {
} `json:"extensions"`
}
Click to show internal directories.
Click to hide internal directories.