github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/examples/get_me/get_me.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"os"
     7  
     8  	"github.com/grokify/goauth"
     9  	"github.com/grokify/goauth/authutil"
    10  	"github.com/grokify/mogo/config"
    11  	"github.com/grokify/mogo/fmt/fmtutil"
    12  
    13  	ru "github.com/grokify/go-ringcentral-client/office/v1/util"
    14  )
    15  
    16  func main() {
    17  	_, err := config.LoadDotEnv([]string{os.Getenv("ENV_PATH"), "./.env"}, 1)
    18  	if err != nil {
    19  		panic(err)
    20  	}
    21  
    22  	apiClient, err := ru.NewApiClientPassword(
    23  		goauth.CredentialsOAuth2{
    24  			ServerURL:    os.Getenv("RINGCENTRAL_SERVER_URL"),
    25  			ClientID:     os.Getenv("RINGCENTRAL_CLIENT_ID"),
    26  			ClientSecret: os.Getenv("RINGCENTRAL_CLIENT_SECRET"),
    27  			GrantType:    authutil.GrantTypePassword,
    28  			Username:     os.Getenv("RINGCENTRAL_USERNAME"),
    29  			Password:     os.Getenv("RINGCENTRAL_PASSWORD")})
    30  	if err != nil {
    31  		panic(err)
    32  	}
    33  
    34  	info, resp, err := apiClient.UserSettingsApi.LoadExtensionInfo(context.Background(), "~", "~")
    35  	if err != nil {
    36  		panic(err)
    37  	} else if resp.StatusCode >= 300 {
    38  		panic(fmt.Errorf("API Status %v", resp.StatusCode))
    39  	}
    40  	fmtutil.PrintJSON(info)
    41  
    42  	fmt.Println("DONE")
    43  }