52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"net/http"
|
|
)
|
|
|
|
type Response struct {
|
|
Title string `json:"title"`
|
|
Artist string `json:"artist"`
|
|
Album string `json:"album"`
|
|
Year string `json:"year"`
|
|
Time int `json:"time"` // Seconds to go to end of song
|
|
Cover string `json:"cover"` // URL to picture of album cover
|
|
}
|
|
|
|
/*func getImage(url string) {
|
|
fmt.Println("Calling API and get image...")
|
|
client := &http.Client{}
|
|
req, err := http.NewRequest("GET", url, nil)
|
|
if err != nil {
|
|
fmt.Print(err.Error())
|
|
}
|
|
return req
|
|
}
|
|
*/
|
|
|
|
func main() {
|
|
fmt.Println("Calling API...")
|
|
client := &http.Client{}
|
|
req, err := http.NewRequest("GET", "https://api.radioparadise.com/api/now_playing", nil)
|
|
if err != nil {
|
|
fmt.Print(err.Error())
|
|
}
|
|
req.Header.Add("Accept", "application/json")
|
|
req.Header.Add("Content-Type", "application/json")
|
|
resp, err := client.Do(req)
|
|
defer resp.Body.Close()
|
|
bodyBytes, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
fmt.Print(err.Error())
|
|
}
|
|
var responseObject Response
|
|
json.Unmarshal(bodyBytes, &responseObject)
|
|
// coverUrl := responseObject.Cover
|
|
// getImage(coverUrl)
|
|
fmt.Printf("API Response as struct %+v\n", responseObject)
|
|
fmt.Println("Image from albumcover...")
|
|
}
|