github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/examples/get_array/main.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "log" 7 "strings" 8 9 "github.com/grokify/mogo/fmt/fmtutil" 10 "github.com/jessevdk/go-flags" 11 12 utils "github.com/grokify/go-ringcentral-client/engagedigital/v1/util" 13 ) 14 15 type options struct { 16 Site string `short:"s" long:"site" description:"A site" required:"true"` 17 Token string `short:"t" long:"token" description:"A token" required:"true"` 18 Object string `short:"o" long:"object" description:"An object" required:"true"` 19 Id string `short:"i" long:"id" description:"An object id" required:"false"` 20 } 21 22 func main() { 23 opts := options{} 24 _, err := flags.Parse(&opts) 25 if err != nil { 26 log.Fatal(err) 27 } 28 29 client := utils.NewApiClient(opts.Site, opts.Token) 30 31 opts.Id = strings.TrimSpace(opts.Id) 32 opts.Object = strings.ToLower(strings.TrimSpace(opts.Object)) 33 34 switch opts.Object { 35 36 case "locale": 37 info, resp, err := client.LocalesApi.GetAllLocales(context.Background()) 38 if err != nil { 39 log.Fatal(err) 40 } else if resp.StatusCode != 200 { 41 log.Fatal(resp.StatusCode) 42 } 43 fmtutil.PrintJSON(info) 44 } 45 46 fmt.Println("DONE") 47 }