github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/examples/upload_user_profile_image/upload_user_profile_image.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "log" 7 "os" 8 9 "github.com/grokify/mogo/config" 10 "github.com/grokify/mogo/errors/errorsutil" 11 "github.com/grokify/mogo/fmt/fmtutil" 12 "github.com/grokify/mogo/net/http/httputilmore" 13 "github.com/jessevdk/go-flags" 14 15 ru "github.com/grokify/go-ringcentral-client/office/v1/util" 16 ro "github.com/grokify/goauth/ringcentral" 17 ) 18 19 type cliOptions struct { 20 File string `short:"f" long:"file" description:"path to image file"` 21 } 22 23 func main() { 24 opts := cliOptions{} 25 _, err := flags.Parse(&opts) 26 if err != nil { 27 log.Fatal(err) 28 } 29 30 _, err = config.LoadDotEnv([]string{os.Getenv("ENV_PATH"), "./.env"}, 1) 31 if err != nil { 32 panic(err) 33 } 34 35 httpClient, err := ro.NewHTTPClientEnvFlexStatic("") 36 if err != nil { 37 log.Fatal(errorsutil.Wrap(err, "getHttpClientEnv")) 38 } 39 serverURL := os.Getenv("RINGCENTRAL_SERVER_URL") 40 apiClient, err := ru.NewApiClientHttpClientBaseURL(httpClient, serverURL) 41 if err != nil { 42 log.Fatal(err) 43 } 44 45 if 1 == 0 { 46 f, err := os.Open(opts.File) 47 if err != nil { 48 log.Fatal(err) 49 } 50 51 info, resp, err := apiClient.UserSettingsApi.UploadImageByPostForm( 52 context.Background(), "~", "~", f) 53 54 if err != nil { 55 log.Fatal(err) 56 } else if resp.StatusCode >= 300 { 57 log.Fatal(fmt.Sprintf("Status [%v]", resp.StatusCode)) 58 } 59 fmtutil.PrintJSON(info) 60 } 61 62 if 1 == 1 { 63 resp, err := ru.UploadUserProfileImage(httpClient, 64 os.Getenv("RINGCENTRAL_SERVER_URL"), 65 "~", 66 "~", 67 opts.File) 68 if err != nil { 69 log.Fatal(err) 70 } 71 72 httputilmore.PrintResponse(resp, true) 73 } 74 75 fmt.Println("DONE") 76 }