Skip to content

BuildIntelligence/domo-gopher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Getting Started

Example using packaged OAuth2 Client Helper

	clientID := os.Getenv("DOMO_CLIENT_ID")
	clientSecret := os.Getenv("DOMO_SECRET")

	auth := domo.NewAuthenticator(domo.ScopeData)
	auth.SetAuthInfo(clientID, clientSecret) // It defaults to using the same ENV Vars so this is potentially Optional 
	client := auth.NewClient()
	ctx := context.Background()
	data, _, err := client.Datasets.List(ctx, 5, 0)
	if err != nil {
		fmt.Println("error domo dataset")
	}
	for _, ds := range data {
		out := fmt.Sprintf("DomoDomo Dataset name: %s, ID: %s", ds.Name, ds.ID)
		fmt.Println(out)
	}

Example using your own http client with OAuth2 configured on it

	client := domo.NewClient(YourClient)
	ctx := context.Background()
	data, _, err := client.Datasets.List(ctx, 5, 0)
	if err != nil {
		fmt.Println("error domo dataset")
	}
	for _, ds := range data {
		out := fmt.Sprintf("DomoDomo Dataset name: %s, ID: %s", ds.Name, ds.ID)
		fmt.Println(out)
	}

TODO:

  • improve auth scope configuration to include scope in the url auth params based on input flags
  • Dataset API wrapper methods
  • Stream API wrapper methods
  • User API wrapper methods
  • Group API wrapper methods
  • Page API wrapper methods
  • Go Modules for dependency management
  • Dataset/Stream upload methods that take an array/slice of structs. i.e. it handles the serialization to CSV as well as schema generation/updating.
  • Projects & Tasks API
  • Account API

About

Domo API SDK for Golang

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages