package main import ( "fmt" "flag" //"gopkg.in/yaml.v2" //"net/http" "encoding/json" "time" "net/http" "log" "io/ioutil" ) type user struct { id int login string } type tag struct { name string } type recommendation struct { text string comment_id int author user } type post struct { pinned bool tags [10]int comments_count int author user text string created string id string private bool } type meta_post struct { bookmarked bool uid int subscribed bool editable bool recommended bool rec recommendation post post } type page struct { has_next bool posts [20]meta_post } const point_api_url string = "https://point.im/api/" func main() { var login, password string; flag.StringVar(&login, "l", "", "Account login") flag.StringVar(&password, "p", "", "Account password") flag.Parse() if len(login) < 1 || len(password) < 1 { fmt.Printf("Login and password must be defined") return } // Auth // Post processing page_number := 0; for { resp, req_err := http.Get(point_api_url + "recent") if req_err != nil { log.Fatal(req_err) continue } defer resp.Body.Close() body, read_err := ioutil.ReadAll(resp.Body) if read_err != nil { log.Fatal(read_err) continue } var page page json_err := json.Unmarshal(body, &page) if json_err != nil { log.Fatal(json_err) continue } page_number++ fmt.Printf("%d done:\n", page_number) //fmt.Printf("%+v", body) fmt.Printf("%s\n", body) time.Sleep(10 * time.Second) } }