alexa-remote-controlをREFRESH_TOKENで

alexa-remote-control 0.20

Amazon Echoで時報する - Azzologに使っているalexa-remote-controlが、2月の頭ごろから動かなくなっていたようだ。ちょうどADSLのサービス終了でバタバタしたのと重なって、なかなか気づけなかったのだが、どうやらalexa.amazom.co.jpの認証が変わった(Old optionが使えなくなった)っぽい。 New option REFRESH_TOKENに切り替えることにする。

The Alexa-App way of logging in is using a REFRESH_TOKEN which allows for obtaining the session cookies.

REFRESH_TOKENを取得するのに alexa-cookie-cliを使わせてもらうので、まず、JavaScript実行環境を確認しておこう。

Node.js


なるほど。

$ sudo apt install nodejs
$ sudo apt install npm


そしてalexa-cookie-cliは、alexa-cookieのラッパーなので、パッケージで2つインストールしておく。

$ npm install alexa-cookie2@4.1.3
$ npm install commander@8.2.0


バージョンが違うと、うまくREFRESH_TOKENを返してくれない。指定しておくべし。自分の場合は、commanderのバージョンが違っていた。
アレクサでインターホンの通知をする - Qiita

がこのままだと失敗する。おそらく、利用している alexa-cookie2のバージョンが古い(4.0.1)ためだと思われる


用意ができたところで、

$ node cli.js -p amazon.co.jp -a ja_JP

The token looks something like Atnr|...