itunes_search

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BaseSearchURL = "https://itunes.apple.com/search"
	BaseLookupURL = "https://itunes.apple.com/lookup"
	DefaultLimit  = 50
	MaxLimit      = 200
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(baseClient *client.Client) *Client

func NewDefaultClient

func NewDefaultClient() *Client

func (*Client) Lookup

func (c *Client) Lookup(params map[string]string) (*SearchResponse, error)

func (*Client) Search

func (c *Client) Search(params map[string]string) (*SearchResponse, error)

type LookupParamsBuilder

type LookupParamsBuilder struct {
	// contains filtered or unexported fields
}

func NewLookupParams

func NewLookupParams() *LookupParamsBuilder

func (*LookupParamsBuilder) AMGAlbumID

func (lp *LookupParamsBuilder) AMGAlbumID(amgAlbumID string) *LookupParamsBuilder

func (*LookupParamsBuilder) AMGAlbumIDs

func (lp *LookupParamsBuilder) AMGAlbumIDs(amgAlbumIDs []string) *LookupParamsBuilder

func (*LookupParamsBuilder) AMGArtistID

func (lp *LookupParamsBuilder) AMGArtistID(amgArtistID string) *LookupParamsBuilder

func (*LookupParamsBuilder) AMGArtistIDs

func (lp *LookupParamsBuilder) AMGArtistIDs(amgArtistIDs []string) *LookupParamsBuilder

func (*LookupParamsBuilder) AMGVideoID

func (lp *LookupParamsBuilder) AMGVideoID(amgVideoID string) *LookupParamsBuilder

func (*LookupParamsBuilder) Build

func (lp *LookupParamsBuilder) Build() map[string]string

func (*LookupParamsBuilder) Country

func (lp *LookupParamsBuilder) Country(country string) *LookupParamsBuilder

func (*LookupParamsBuilder) EAN

func (*LookupParamsBuilder) Entity

func (lp *LookupParamsBuilder) Entity(entity string) *LookupParamsBuilder

func (*LookupParamsBuilder) ID

func (*LookupParamsBuilder) IDs

func (*LookupParamsBuilder) ISBN

func (*LookupParamsBuilder) ISRC

func (*LookupParamsBuilder) Limit

func (lp *LookupParamsBuilder) Limit(limit int) *LookupParamsBuilder

func (*LookupParamsBuilder) Sort

func (*LookupParamsBuilder) UPC

type Result

type Result struct {
	WrapperType                        string   `json:"wrapperType,omitempty"`
	Kind                               string   `json:"kind,omitempty"`
	ArtistID                           int64    `json:"artistId,omitempty"`
	CollectionID                       int64    `json:"collectionId,omitempty"`
	TrackID                            int64    `json:"trackId,omitempty"`
	ArtistName                         string   `json:"artistName,omitempty"`
	CollectionName                     string   `json:"collectionName,omitempty"`
	TrackName                          string   `json:"trackName,omitempty"`
	CollectionCensoredName             string   `json:"collectionCensoredName,omitempty"`
	TrackCensoredName                  string   `json:"trackCensoredName,omitempty"`
	ArtistViewURL                      string   `json:"artistViewUrl,omitempty"`
	CollectionViewURL                  string   `json:"collectionViewUrl,omitempty"`
	TrackViewURL                       string   `json:"trackViewUrl,omitempty"`
	PreviewURL                         string   `json:"previewUrl,omitempty"`
	ArtworkURL30                       string   `json:"artworkUrl30,omitempty"`
	ArtworkURL60                       string   `json:"artworkUrl60,omitempty"`
	ArtworkURL100                      string   `json:"artworkUrl100,omitempty"`
	CollectionPrice                    float64  `json:"collectionPrice,omitempty"`
	TrackPrice                         float64  `json:"trackPrice,omitempty"`
	ReleaseDate                        string   `json:"releaseDate,omitempty"`
	CollectionExplicitness             string   `json:"collectionExplicitness,omitempty"`
	TrackExplicitness                  string   `json:"trackExplicitness,omitempty"`
	DiscCount                          int      `json:"discCount,omitempty"`
	DiscNumber                         int      `json:"discNumber,omitempty"`
	TrackCount                         int      `json:"trackCount,omitempty"`
	TrackNumber                        int      `json:"trackNumber,omitempty"`
	TrackTimeMillis                    int      `json:"trackTimeMillis,omitempty"`
	Country                            string   `json:"country,omitempty"`
	Currency                           string   `json:"currency,omitempty"`
	PrimaryGenreName                   string   `json:"primaryGenreName,omitempty"`
	RadioStationURL                    string   `json:"radioStationUrl,omitempty"`
	IsStreamable                       bool     `json:"isStreamable,omitempty"`
	ContentAdvisoryRating              string   `json:"contentAdvisoryRating,omitempty"`
	CollectionHDPrice                  float64  `json:"collectionHdPrice,omitempty"`
	TrackHDPrice                       float64  `json:"trackHdPrice,omitempty"`
	TrackRentalPrice                   float64  `json:"trackRentalPrice,omitempty"`
	CollectionHDRentalPrice            float64  `json:"collectionHdRentalPrice,omitempty"`
	TrackHDRentalPrice                 float64  `json:"trackHdRentalPrice,omitempty"`
	LongDescription                    string   `json:"longDescription,omitempty"`
	HasITunesExtras                    bool     `json:"hasITunesExtras,omitempty"`
	SellerName                         string   `json:"sellerName,omitempty"`
	Features                           []string `json:"features,omitempty"`
	SupportedDevices                   []string `json:"supportedDevices,omitempty"`
	Advisories                         []string `json:"advisories,omitempty"`
	ScreenshotUrls                     []string `json:"screenshotUrls,omitempty"`
	IPadScreenshotUrls                 []string `json:"ipadScreenshotUrls,omitempty"`
	AppletvScreenshotUrls              []string `json:"appletvScreenshotUrls,omitempty"`
	ArtistLinkURL                      string   `json:"artistLinkUrl,omitempty"`
	CollectionArtistID                 int64    `json:"collectionArtistId,omitempty"`
	CollectionArtistName               string   `json:"collectionArtistName,omitempty"`
	CollectionArtistViewURL            string   `json:"collectionArtistViewUrl,omitempty"`
	Description                        string   `json:"description,omitempty"`
	ShortDescription                   string   `json:"shortDescription,omitempty"`
	Version                            string   `json:"version,omitempty"`
	FileSizeBytes                      string   `json:"fileSizeBytes,omitempty"`
	MinimumOSVersion                   string   `json:"minimumOsVersion,omitempty"`
	AverageUserRating                  float64  `json:"averageUserRating,omitempty"`
	UserRatingCount                    int      `json:"userRatingCount,omitempty"`
	AverageUserRatingForCurrentVersion float64  `json:"averageUserRatingForCurrentVersion,omitempty"`
	UserRatingCountForCurrentVersion   int      `json:"userRatingCountForCurrentVersion,omitempty"`
	FormattedPrice                     string   `json:"formattedPrice,omitempty"`
	Price                              float64  `json:"price,omitempty"`
	BundleID                           string   `json:"bundleId,omitempty"`
	GenreIDS                           []string `json:"genreIds,omitempty"`
	Genres                             []string `json:"genres,omitempty"`
	LanguageCodesISO2A                 []string `json:"languageCodesISO2A,omitempty"`
}

type SearchParamsBuilder

type SearchParamsBuilder struct {
	// contains filtered or unexported fields
}

func NewSearchParams

func NewSearchParams() *SearchParamsBuilder

func (*SearchParamsBuilder) Attribute

func (sp *SearchParamsBuilder) Attribute(attribute string) *SearchParamsBuilder

func (*SearchParamsBuilder) Build

func (sp *SearchParamsBuilder) Build() map[string]string

func (*SearchParamsBuilder) Callback

func (sp *SearchParamsBuilder) Callback(callback string) *SearchParamsBuilder

func (*SearchParamsBuilder) Country

func (sp *SearchParamsBuilder) Country(country string) *SearchParamsBuilder

func (*SearchParamsBuilder) Entity

func (sp *SearchParamsBuilder) Entity(entity string) *SearchParamsBuilder

func (*SearchParamsBuilder) Explicit

func (sp *SearchParamsBuilder) Explicit(explicit string) *SearchParamsBuilder

func (*SearchParamsBuilder) Lang

func (*SearchParamsBuilder) Limit

func (sp *SearchParamsBuilder) Limit(limit int) *SearchParamsBuilder

func (*SearchParamsBuilder) Media

func (*SearchParamsBuilder) Term

func (*SearchParamsBuilder) Version

func (sp *SearchParamsBuilder) Version(version int) *SearchParamsBuilder

type SearchResponse

type SearchResponse struct {
	ResultCount int      `json:"resultCount"`
	Results     []Result `json:"results"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL