Ouraリングのデータを取得する

Ouraリングは指輪型のウェアラブルデバイスです。

今回はそのデータの取得方法をご紹介します。

私が試したNode-REDのノードを使うとデータ取得の手順は簡単で、以下の3ステップでデータを取得できました。

  1. アクセストークンを入手
  2. Ouraノードをインストール
  3. Node-REDのフローを作成

Oura Developer!

まず、準備としてOuraRingのユーザーサイトにアクセスし、左下のOura Developerをクリックします。

左下にOur Developerがある

開発者向けサイトがあります。ここでMy Applicationから自分のアプリのアクセストークンを取得します。

左のメニューのMy Applicationをクリックします。

右上のCreate New Personal Access Tokenボタンをクリックします。

適当なアプリケーションの名前を入力して、Create〜のボタンをクリックすれば、

トークンが発行されます。

トークンは一度しか表示されないので注意

このトークンはあとでノードのプロパティに貼り付けますので、画面はそのままにしましょう。

Oura ノード

enebular editorを開きましょう!(Web エディターでもOK!)

Node-REDはパレットの管理からノードをインストールできるのはご存じかと思います。

Ouraと検索すると、node-red-contrib-get-oura-dataというノードが見つかると思いますので、ノードを追加します。

トークンをセットしよう

Ouraノードを配置して、クリックしてプロパティを編集しましょう。まずはトークンのセットからです。

APIのバージョンを選択します。まずはVersion1です。Data TypeはPersonal Infoにします。

Node-REDのフロー

フローはまずはシンプルにInjectノードとdebugノードの間にOuraノードを配置して線で繋ぎます。

保存ボタン(またはデプロイボタン)を押してフローを保存してから、Injectノードのボタンをクリックします。すると、私がOura Ringのサービスに登録しておいた個人情報がdebugノードに表示されました。

次に、APIのVersion2を試してみます。

Daily Activityに関するデータが取得できました。

現在APIのバージョンは、V1とV2の2種類あり、ノードでそのどちらかのデータを取得できる様になっています。同じデータタイプもありますが、例えば睡眠データはV1でのみ取得できるようです。

詳しくは、ドキュメントを参照してみてください。

日付の指定

プロパティで日付を指定できますが、フローのなかで指定したい場合もあると思います。injectノードのtimestampには対応していないようです。msg.payloadで文字列で、2022/05/31,2022/06/01などと渡して上げればその区間に該当するデータが返ってきます。

詳しくは、ノードの説明をご覧ください。

https://flows.nodered.org/node/node-red-contrib-get-oura-data

イベントのご案内

enebular meetupでは、8月に以下の様なイベントを開催予定です。ぜひご参加ください!

Oura RingをAPIで使い倒す!ミートアップ
ウェアラブル デバイスを一歩進んで使ってみよう Vol.1

お申込みは以下のリンクからよろしくお願いします😀

https://enebular.connpass.com/event/243169/