All Projects → minchao → go-apple-music

minchao / go-apple-music

Licence: MIT license
A Go client library for accessing the Apple Music API.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-apple-music

Cider
A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind. 🚀
Stars: ✭ 3,146 (+3690.36%)
Mutual labels:  apple-music, applemusic
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+2393.98%)
Mutual labels:  apple-music, apple-music-api
goar
Arweave http client and wallet implemented in go, Arweave SDK
Stars: ✭ 60 (-27.71%)
Mutual labels:  sdk-go
Lyricsx
🎶 Ultimate lyrics app for macOS.
Stars: ✭ 3,251 (+3816.87%)
Mutual labels:  apple-music
Jukebox
A macOS app to view the currently playing song in the menu bar
Stars: ✭ 93 (+12.05%)
Mutual labels:  apple-music
biligo
🚀 BiliBili API SDK in Golang
Stars: ✭ 29 (-65.06%)
Mutual labels:  sdk-go
reactjs-apple-musickit
Sample ReactJS Apple MusicKit Integration
Stars: ✭ 19 (-77.11%)
Mutual labels:  apple-music
go-teamcity
Golang client for TeamCity REST API
Stars: ✭ 32 (-61.45%)
Mutual labels:  sdk-go
Musish
Apple Music...ish
Stars: ✭ 2,775 (+3243.37%)
Mutual labels:  apple-music
LitoMusic
A lightweight Apple Music client for Windows and macOS, built with MusicKit JS, Edge WebView2 / WKWebView and React.
Stars: ✭ 100 (+20.48%)
Mutual labels:  apple-music
apple-musickit-example
Very simple example of working with Apple MusicKit JS
Stars: ✭ 36 (-56.63%)
Mutual labels:  apple-music
mulukhiya-toot-proxy
各種ActivityPub対応インスタンスへの投稿に対して、内容の更新等を行うプロキシ。通称「モロヘイヤ」。
Stars: ✭ 24 (-71.08%)
Mutual labels:  apple-music
go-stone-openbank
A Go library to connect with Stone Open Banking API
Stars: ✭ 31 (-62.65%)
Mutual labels:  sdk-go
SwimplyPlayIndicator
Animated PlayIndicator written in SwiftUI. Inspired by Apple's Music Player.
Stars: ✭ 52 (-37.35%)
Mutual labels:  apple-music
go-sdk
Go client for Manticore Search
Stars: ✭ 22 (-73.49%)
Mutual labels:  sdk-go
go-kkbox
KKBOX Open API SDK for Golang.
Stars: ✭ 16 (-80.72%)
Mutual labels:  sdk-go
Apple-Music-Discord-Rich-Presence
Integrate Apple Music with Discord and flex your taste with the world.
Stars: ✭ 25 (-69.88%)
Mutual labels:  apple-music
Cider
The Missing Apple Music SDK. Written in Swift.
Stars: ✭ 57 (-31.33%)
Mutual labels:  apple-music-api
Decktransition
A library to recreate the iOS Apple Music now playing transition
Stars: ✭ 2,207 (+2559.04%)
Mutual labels:  apple-music
iLyrics
A third-party iTunes addon to show the lyrics on the desktop.
Stars: ✭ 78 (-6.02%)
Mutual labels:  apple-music

go-apple-music

GoDoc Build Status Continuous Integration Go Report Card

A Go client library for accessing the Apple Music API.

This library is heavily inspired by go-github.

Installation

Use go get.

go get -u github.com/minchao/go-apple-music

Usage

import "github.com/minchao/go-apple-music"

Construct a new API client, then use to access the Apple Music API. For example:

ctx := context.Background()
tp := applemusic.Transport{Token: "APPLE_MUSIC_API_TOKEN"}
client := applemusic.NewClient(tp.Client())

// Fetch all the storefronts in alphabetical order
storefronts, _, err := client.Storefront.GetAll(ctx, nil)

Create a developer token

Use the token generator tool to quickly create a developer token.

$ cd examples/token-genrator
$ go build

Usage:

$ ./generate-toke
Usage: generate-token [options]
  -k string
        MusicKit key
  -l int
        TTL (time-to-live), must not be greater than 15777000 (6 months in seconds) (default 3600)
  -pf string
        MusicKit private key, the path of private key file (.p8)
  -pk string
        MusicKit private key, enter string without BEGIN and END annotations
  -t string
        Team ID

Run:

$ ./generate-toke \
    -k=MUSICKIT_KEY \
    -t=TEAM_ID \
    -pf=MUSICKIT_PRIVATE_KEY_FILE

Create a Music User Token

Use the requestUserToken(forDeveloperToken:completionHandler:) method in the StoreKit framework.

Todo

  • Fetch Recent
    • Get recently played
    • Get recent stations
  • Manage Ratings
    • Get personal album rating
    • Get multiple personal album ratings
    • Add a personal album rating
    • Delete a personal album rating
    • Get personal music video rating
    • Get multiple personal music video ratings
    • Add a personal music video rating
    • Delete a personal music video rating
    • Get personal playlist rating
    • Get multiple personal playlist ratings
    • Add a personal playlist rating
    • Delete a personal playlist rating
    • Get personal song rating
    • Get multiple personal song ratings
    • Add a personal song rating
    • Delete a personal song rating
    • Get personal station rating
    • Get multiple personal station ratings
    • Add a personal station rating
    • Delete a personal station rating
  • Fetch Recommendations
    • Get default recommendations
    • Get album recommendations
    • Get playlist recommendations
    • Get a recommendation
    • Get multiple recommendations

License

See the LICENSE file for license rights and limitations (MIT).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].