ALISっていろいろ調べたらAPIが公開されているんですね…。
アカウント関連の情報や過去記事へのアクセス、記事そのものを編集したりなど、一通り揃っている感じだったのでNode.jsを使ってちょっといじってみた…というのが今回のテーマになります。
基本的な使い方を紹介しようかな…と思ったのですが、実はすべて以下のドキュメントに詳しく掲載されてました。(超便利)
ベースになるURLは「https://alis.to/api」のようなので、これに続けて提供されているAPIを組み合わせれば良いわけです。
例えば、ALISの人気記事を取得したければ次のようなURL(エンドポイント)になります。
https://alis.to/api/articles/popular
これをブラウザのアドレスバーに入力して実行すると、JSON形式で記事一覧のデータが取得できるのが分かると思います。
クエリも付与できるみたいなので、「テクノロジー」関連の人気記事を20件分欲しいなぁという時は次のようになるわけです。
https://alis.to/api/articles/popular?limit=20&topic=technology
大変便利ですね。
せっかくAPIがあるので何か練習ついでに作ってみようかなと思い、勢いだけで作ったのが「ALISで書いた記事が何円くらいなのか?」をチェックするヤツですw
超単純ですね。。
とりあえずHerokuに置いてるので使ってみてください。
https://myalistoken.herokuapp.com
使い方も超単純で、自分の「ユーザーID」を入力して送信ボタンをクリックするだけです。
数秒ほど待つと以下のように日本円が表示されます。
はい、たったこれだけですw
ちなみに「ユーザーID」はマイページのURLから確認できます。
私の場合は「https://alis.to/users/masatok」なので、ユーザーIDは「masatok」になります。
私はこの記事が初投稿なのでまだ0円なのですが、数千円とか稼いでいる人もいるみたいなのでスゴいなぁと思います。
今回はNode.js / ExpressでAPI叩いているだけなのでたいしたことはしてないのですが、いくつか疑問もありました。
一番よく分からなかったのが認証付きのAPIです。
ALISが提供しているAPIは大きく分けて「パブリックAPI」と「プライベートAPI」があるみたいなのですが、このプライベートなAPIを使うには「認証キー」が必要です。
普通ならどこかに「認証キー」をサクッと発行できるページが用意されているのですが、どこを探しても見つからない…。
ネットで調べるとなにやら難しい話が書かれていて、ちょっと理解できずに断念しました。
そんなわけで今回はパブリックなAPIだけを利用しているので、ちょっと面倒な処理をゴリゴリ書いていたりします。
具体的には、まず最初に以下のエンドポイントから任意のユーザーが公開している記事を取得します。
https://alis.to/api/users/ユーザーID/articles/public
すると「記事ID」を取得できるので、そこから以下のエンドポイントでALISトークンを取り出すという感じです。
https://alis.to/api/articles/記事ID/alistoken
これを過去記事含めて全部取得して日本円に換算してます。
もしかしたらもっと簡単な方法があるかもしれませんが、今のところまだ見つけられてないです。。
また、ALISの価値がわりと変動しているようで、1 ALISが1円くらいから3円くらいの間でいったりきたりしてます。
今回は作成時点の1.5円で固定にしてるのですが、そのうち仮想通貨のAPIから正確な価値を取得してから計算できるようにしておきます。。
※追記:2019年2月24日
現在は最新の仮想通貨の価値を取得できるAPIを利用しているので、わりと正確な日本円を算出できているはずです…。
とりあえず今回は作ってみた…という感じなのですが、時間があればVue.jsで作り直したり通貨以外の情報も取得できるようになればなぁと考えてます。
もしご意見や貴重なアドバイスなどコメントを頂ければ喜びます。