jonaustin / oura

An unofficial Go client for the Oura Cloud API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Oura

Tests Status Badge

An unofficial Go client for the Oura Cloud API.

Installation

Use Go to fetch the latest version of the package.

go get -u 'github.com/lildude/oura'

Usage

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)
}

Releasing

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.

About

An unofficial Go client for the Oura Cloud API

License:MIT License


Languages

Language:Go 100.0%