1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[OURA APIシリーズ_1] OURA API 「Personal Access Tokens」の作成

Last updated at Posted at 2023-10-05

概要

本稿では、OURA APIとは何か、そして、OURA APIを使用するための「Personal Access Tokens」の作成方法を紹介します。

OURA ring(Gen2以降)を既にお持ちで、OURAメンバーシップをサブスクしている方が対象となる投稿です。(OURAメンバーシップは個人的に嫌いなやり口ですが、APIを使ってデータを取得するにはOURA ringを保有するだけではなく、メンバーシップに登録する必要があります。)

OURA APIとは

まずは、OURA APIとは何かを説明します。その前に、簡単にAPIを説明します。

API (Application programming interface)

APIとはApplication Programming Interfaceの略称で、「広義ではソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。」(参照)と説明されています。商業的な狭義としては、各種システムやサービスを利用するAppを開発・プログラミングするためのインターフェースで、OURA APIに関してもこの定義に当てはまる意味合いを持っています。

OURA API

OURA公式サイトにアクセスすると以下のように説明されています。

Oura APIを使用すると、Ouraリングによって生成されたデータに簡単にアクセスすることができます。 Oura APIを使用するには、Ouraアカウントに加えて、パーソナル アクセストークンまたはAPIアプリが必要です。
Oura APIを使用することにより、Ouraのデータを取得したり、サードパーティサービスとの間でOuraデータを共有できる連携機能を利用することができます。

ざっくりとしすぎているので、私のOURA Appダッシュボードを参照にOURA APIについてもう少し詳しく、具体的に説明します。スマートフォン上のOURA Appでは、プログラム化されたデータ表示方法により一部のトラッキングデータが選択的に表示されています。例えば、「睡眠」のダッシュボードでは、心拍数(HR)については「Lowest heart rate __ bpm」と「Average __ bpm」が、心拍変動(HRV)については「Average HRV __ ms」と「Max __ ms」が表示されているはずです。下記は私のダッシュボードです。
HR
HRV
一方で、HRとHRVの両方で、トレンドデータが青色の折れ線グラフにより表示されています。このことから、OURA ringは、睡眠時には定期的にHRとHRVデータを取得、算出していることが分かります。OURA Appではこのトレンドから特徴的なデータ(HRでは最低値および平均値、HRVでは平均値および最大値)を抽出、演算し、表示するようにプログラム化されているということです。

確かに、睡眠時のHRでは最低値や平均値が、HRVでは平均値や最高値が気になります。一方で、解析者たちは「HRと睡眠の深さの関係性はどうなっているだろう?」とか、「HRVとHRとREM睡眠は関係しているんじゃないか?」とか思うわけです。これらの関係性を調べるためには、本来取得できているはずの「定期取得データ」(睡眠中OURA ringは、実際に5分毎にデータを取得しています)にアクセスする必要があります。

これを可能とするのがOURA APIです。OURA APIを使えば、気になる未抽出データにアクセスし、選択的に抽出し、演算・解析ソフト等を使ってデータを分析することができます。

Personal Access Tokens (PATs) の作成

それでは、OURA APIにアクセスするためのPersonal Access Tokensを作成していきましょう。作成は公式Webを参考に行いましょう。

パーソナル アクセストークンを作成する手順は、以下のとおりです。
1.パーソナルアクセストークンページに移動します
2.ページの右上にある新しいパーソナル アクセストークンの作成をクリックします
3.作成する新しいパーソナル アクセストークンの一意のメモを入力します
4.[パーソナル アクセストークンの作成]をクリックしてフォームを送信し、新しいパーソナル アクセストークンを作成します
[パーソナル アクセストークン]ページに新規アクセストークンが表示されます。
このページから移動するとトークンを表示できなくなるため、必ず新規トークンをコピーしてください。 [コピー]をクリックして、トークンをクリップボードにコピーします。

スクリーンショット 2023-10-05 12.27.18.png
任意のノートを付与します。
スクリーンショット 2023-10-05 12.31.23.png
生成されたPATs(注:個人情報を含む)をテキストファイル等にコピー/ペーストすることを忘れないでください。英文で記載のあるように、このページを一度離れて同じページに戻った時には作成されたPATsは暗号化(*******で示されているもの)されます。もう一度作成すればいいだけですが面倒です。
スクリーンショット 2023-10-05 12.32.41.png
(※このPATsは削除済みです)

以上でPATsの作成は完了です。作成まではとても簡単ですね。作成が簡単な割にとても、とても注意しなければならないことがあります:
公式Webでは重要なポイントが欠けていますが、作成したPATsは個人情報へのアクセスが可能となる機密情報です。アカウントに紐づくメールアドレスや、ユーザの体重、身長等は全てこのPATsからアクセス可能ですので、取り扱いには十分に注意していください。例えば、他者と共有することはあまりお勧めできません。

URLパラメータによる確認

作成したPATsが有効かどうかを「URLパラメータ」という方法により確認していきましょう。これは、抽出したい情報を呼び出すパラメータの後ろにPATsを付与してブラウザで検索する方法です。

試しに私のアカウントの登録情報を呼び出してみます。ご自身でお試しになる場合は、下記のURLアドレスの <自分のPATsを入力> にPATsを挿入してブラウザで検索してみてください。

https://api.ouraring.com/v1/userinfo?access_token= <自分のPATsを入力>

スクリーンショット 2023-10-05 13.39.09.png

このような結果が返ってきました。作成したPATsが有効であることが確認できました。
スクリーンショット 2023-10-05 13.41.20.png

生データ操作による可能性

私たちのチームでは、既に、OURA ringのみで取得できるデータの中に強い相関関係を示す(複数のデータ同士が関わり合って変化する)ものをたくさん見つけています。これらは今のところ「ただの関係性を持つ変数たち」ですが、機械学習やAIを用いることで「今日は22時に眠くなるから、質の高い睡眠をするためには21時に寝る支度を始めましょう」や「今日のエクササイズの効果が発揮されるのは4日後です」なぁんてことも予測、提案できると考えています。

Fitness Trackerは、どれもまだ「フィードバック(こんなデータが出ましたという報告)ツール」に過ぎません。OURA ringをフル活用して、実生活をより良くするためのツール化していきましょう。

次回からは、OURA APIを使った実際のデータ分析編を始めていきます。恐らく解析ソフトウェアのダウンロード編を投稿すると思います。それではまた!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?