Node.js
node-red
WioNode

Wio Nodeのノードで認証がうまく行かなくてManual TokenしたTIPS

More than 1 year has passed since last update.

この記事はNode-RED Advent Calendar 2016の7日目の記事です。

前日はkuetsuharaさんのフロントばっかりやってた人だけどNode-REDでなんとかAPI作ったでした。

さて、Node-REDで気軽にIoTできるWio Nodeという機器があります。

wio-node-get-token_1.jpg

このノードでWio Nodeノードで最初にログイン認証をしてトークンを取得しますが、うまく認証がとおらずトークン取得できないときがあります。

wio-node-get-token_2.png

自分が解決したもので原因としては以下がありました。


  • Wio Nodeサーバーの認証方法が変わった

  • GoogleアカウントやFacebookアカウントでログインしていると認証が通らない


    • Wio Nodeの画面がメールアドレスID/PASSのみの対応なのでそういう状況になる



  • なんだか調子が悪い

といったところです。困りましたね。

というときはトークンを自力で取ってきます。


トークンを手動で取ってくる

以下の記事を参考に、

Unable to connect to new Wio servers · Issue #4 · WarriorRocker/node-red-contrib-wio-seeed

awong1900 commented on 24 Aug

Hi,
New wio app(above android 2.3)use seeed account system.
Use https://wio.seeed.io/login to get wio token on Wio Global New/Old and Chinese server.
The login API still work on custom server.
We will modify API document. More clearly.
--from wio team

2016/12/06現在、以下のアドレスにアクセスします。

https://wio.seeed.io/login

wio-node-get-token_3.png

すると、ID/PASSが聞かれるのでログインします。

wio-node-get-token_7.png

はい。トークンが出てきます。

そう、2016/12/06現在、起きていることは「Wio Nodeサーバーの認証方法が変わった」です。

以前はJSONで返ってくるところのはずが、なぜかプレーンテキストで返ってきます。それはJSON想定のWio Nodeノードでは取得できませんよね。


Wio NodeノードにManual Tokenで設定

では早速 v1 のところを拾って設定します。(どこかのタイミングでv2を使うのかもしれませんが、2016/12/06現在はよくわかりません。)

wio-node-get-token_4.png

Wio NodeノードのManual Tokenのボタンを押して、

wio-node-get-token_5.png

Wioアプリで指定しているサーバーと、今回コピーしたトークンをペーストして反映させます。

こちらで取得してみると無事に情報を拾うことができるようになりました。

wio-node-get-token_6.png

Seeed Studioのほうでも随時APIの更新をして仕様変えていくのは意欲的ではありますね。ただ、ノード制作者側もまさかJSONでなくプレーンテキストで返ってくるとは思いませんし、ちょっと難しいところにハマっています。

ひとまずは「認証がうまくいかないときは手動でトークンを取ってくる」というところで、切り抜けていきましょう!


さて明日は

Node-RED Advent Calendar 2016の明日はAmbientDataさんです!

気軽に可視化できるIoTクラウドサービスAmbient、お世話になっております。楽しみです!