An unofficial Go client for the Oura Cloud API.
Use Go to fetch the latest version of the package.
go get -u 'github.com/lildude/oura'
Depending on your requirements, you will need an access token to query the API. This can be a personal access token or a full OAuth2 authenticated access token.
See the section on Authentication in the Oura Cloud API Docs for more information the authentication methods.
The simplest approach for accessing your own data is to use a personal access token like this:
package main
import (
"context"
"fmt"
"os"
"github.com/joho/godotenv"
"github.com/lildude/oura"
"golang.org/x/oauth2"
)
func main() {
godotenv.Load(".env")
ts := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: os.Getenv("OURA_ACCESS_TOKEN")})
ctx := context.Background()
tc := oauth2.NewClient(ctx, ts)
cl := oura.NewClient(tc)
userInfo, _, _err_ := cl.UserInfo(ctx)
if err != nil {
fmt.Println(err)
}
fmt.Println(userInfo.Age, userInfo.Gender, userInfo.Weight, userInfo.Email)
}
This project uses GoReleaser via GitHub Actions to make the releases quick and easy. When I'm ready for a new release, I push a new tag and the workflow takes care of things.