KKBOX Open API SDK for Golang.
Install SDK library
$ go get -u github.com/appleboy/go-kkbox
Inital the KKBox client:
package main
import (
"log"
"os"
"github.com/appleboy/go-kkbox"
)
var clientID = os.Getenv("CLIENT_ID")
var clientSecret = os.Getenv("CLIENT_SECRET")
func main() {
if clientID == "" || clientSecret == "" {
log.Fatal("missing client id or secret")
}
k, err := kkbox.New(clientID, clientSecret)
if err != nil {
log.Fatal(err)
}
fmt.Println("====== kkbox client ======")
spew.Dump(k)
fmt.Println("====== kkbox end ======")
// fetch charts
charts, err := k.FetchCharts()
if err != nil {
fmt.Printf("%#v\n", err)
}
fmt.Printf("%#v\n", charts)
ranks, err := k.FetchChartPlayList("4nUZM-TY2aVxZ2xaA-")
if err != nil {
fmt.Printf("%#v\n", err)
}
spew.Dump(ranks)
tracks, err := k.FetchChartPlayListTrack("4nUZM-TY2aVxZ2xaA-", kkbox.Param{
PerPage: 1,
Page: 2,
Territory: "HK",
})
if err != nil {
fmt.Printf("%#v\n", err)
}
spew.Dump(tracks)
log.Println("length: ", len(tracks.Data))
}
Run program:
$ CLIENT_ID=xxx CLIENT_SECRET=xxx go run main.go