Microsoft BandにWebAPI経由でデータを引っ張ってこれるAPIが昨日あたりに提供が始まったので早速サンプルを試してみました。
サンプルを動かしてみた
とりあえずでサンプルを公式ページから落としてきましょう。
ここ から落とせます。
サンプルを触った結果
MADOSMAにインストールしたのと自前のノートPCにインストールしたのと両方試してみました。
結果としては、SighInボタンを押したら普通に認証できずに終わりました。
以下のような画面が出ました。(Phoneも同じ)
認証を通す
このサンプルアプリは、認証にLive Connect APIを使っているので、普通に考えてクライアントIDとSecretを登録するのを忘れていたっていオチでした。
まあ当たり前ですよね。
ということでアプリケーションを一つここで作成します。
アプリを登録したら画面左のアプリケーション設定の項目を選択します。
その画面で手に入るクライアントIDとクライアントシークレットをサンプルアプリのSheredソース部のMainPage.csの29, 30行目に追加します。
とりあえずこの状態でアプリを起動してサインインしてみましょう。
次は画面が真っ白なまま止まりました。
はて?ってことでURLを直に叩いてみました。
すると結果は、こんな感じのURLに飛んでいました。
https://login.live.com/oauth20_desktop.srf?lc=1041#error=invalid_request&error_description=
The+provided+value+for+the+input+parameter+'redirect_uri'+is+not+valid.+
The+client+application+must+be+marked+as+'mobile'%2c+or+the+value+must+be+an+absolute+
URL+which+matches+the+registered+redirect+URI.
こんなんアプリで分かるわけねえじゃんとか思いつつ内容を見てみるとリダイレクトURIがおかしいとかアプリをモバイルで設定しろとかそんな感じのことが書かれています。
何とかせねばっていうことで再びアプリケーションの設定ページに行きます。
次は、左のメニューのAPI設定の画面に行きます。
デフォルトだとモバイルクライアントアプリ/デスクトップクライアントアプリの項目がいいえになっているはずなのではいにチェックを変更します。
先ほどリダイレクトURIがおかしいとか書かれていましたが下のほうにあるリダイレクトURIの設定項目は空白のままで一番下の保存を押します。
この状態で再度アプリを起動してsigninを押してみましょう。
ようやく認証画面まで来れました。
これでマイクロソフトアカウントを入れてログインします。
進むと以下のような感じ
はいを押して進むとようやくログイン完了です。
これでボタンを押すといろいろMicrosoft Healthに登録されている情報が降ってくるようになります。
まとめ
BandのCloud APIといいつつ普通に Live Connect APIの使い方ではまるというオチが付きましたがREST APIで簡単に収集した情報を得られるようになるのは、かなり楽になりましたね。
気が向いたらAPIの詳細とか書いてみようかと思います。