Я пытаюсь получить список напоминаний из слабины, вызывая его API. Мне нужно извлечь метку времени и идентификатор пользователя из ответа. Но я не могу получить значения, скопированные в struct, при демаршалировании JSON.
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"time"
)
type ReadingHttpResponse struct {
ID string `json:"id"`
Creator string `json:"creator"`
User string `json:"user"`
Text string `json:"text"`
Recurring bool `json:"recurring"`
Time time.Time `json:"time"`
CompleteTS int `json:"complete_ts"`
}
func main() {
url := "https://slack.com/api/reminders.list"
var bearer = "Bearer " + "My Bearer token"
req, err := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", bearer)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
log.Println("Error on response.\n[ERRO] -", err)
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
}
var m ReadingHttpResponse
err = json.Unmarshal(body, &m)
if err != nil {
fmt.Println(err)
}
fmt.Printf("%#v\r\n", m)
}
json в ответ от api:
"ok": true, "памятки": [{"id": "bacsasdad", "creator": "asdasdww", "user": "asdasdad", "text": "Здравствуйте, это только для целей тестирования", "recurring": false, "time": 1578470823, "complete_ts": 0}]}
Но данные Unmarshaled не имеют значений
main.ReadingHttpResponse {ID: "", Creator: "", Пользователь: "", Текст: "", Повторяющееся: false, Время: время. Время {стена: 0x0, ext: 0, lo c: (* time.Location) (nil)}, CompleteTS: 0}