LoginSignup
2
5

More than 5 years have passed since last update.

Node-RED で遊んでみる第四歩: Web REST API で禅の言葉をゲットして日本語に翻訳してみる

Last updated at Posted at 2018-10-31

自分メモを兼ねた Node-RED で遊んでみた的なやつ、4投稿目になります。これまでの投稿はコチラ。

今回のアプリ

今回はWeb REST APIを使って、禅の言葉を得る小さなアプリを作成してみます。使用する API に関しては 禅APIとは何か? を参照してください。

この禅APIは英語のテキストを返すので、それを日本語に翻訳もしてみましょう。

さて作りましょう

さて、まずは空のフローにノードを並べていきましょう。inject ノード、http request ノード、debug ノードを順に並べて、それぞれを接続します。
image.png
http request ノードのURL欄に以下の値を設定します。

https://api.github.com/zen

image.png
デプロイして、inject ノードをクリックしてみましょう。有難い禅の言葉が… 表示されませんね。
image.png
リクエスト時に User-Agent が指定されていない、と注意されているようです。さっそく指定しましょう!

フローの http request の前に change ノードを追加します。
image.png
change ノードの値の代入先に headers を指定し、対象の値の形式を JSON に変更した後、値として以下の JSON 文字列を設定します。

{"User-Agent": "Node-RED sample"}

以下のような設定になります。
image.png
全体のフローは以下のようになります。
image.png
もう一度デプロイして、inject ノードをクリックしてみましょう。今度はうまくいきました。クリックのたびに、有難い禅の言葉がコンソールに表示されます。
image.png
いやー、めでたしめでたし!

日本語に翻訳してみよう

英語だとなかなか辛いので、禅の言葉を日本語に翻訳してみましょう。

IBM Watson の Language Translator サービスの作成

今回は IBM Watson の Language Translator サービスを使ってみます。無料の ライト・アカウント でも利用できます。

IBM Cloud にログインしたら、カタログの「AI」カテゴリにある以下のアイコンをクリックします。
image.png
サービスの作成画面になりますので、必要であれば名前など変更して「作成」をクリック。
image.png
生成後の画面に「資格情報」が表示されていますので、「資格情報を表示」リンクをクリックして API鍵 を表示させ、それをコピーしておきます。
image.png

Language Translator ノードの追加

http request ノードの後に、IBM Watson パレットにある Language Translator ノードを追加します。
image.png
パレットにない場合は「パレットの管理」メニューを開き、「node-red-node-watson」ノードを追加します。
image.png
image.png

Language Translator ノードの設定

Language Translator ノードの設定を開き、API Key欄にさきほどコピーした API鍵の値をペーストして設定します。また Target 欄を Japanese に変更します。
image.png
設定してもフローの見た目は特に変わりませんね。
image.png

実行してみよう

デプロイして、inject ノードをクリックしてみましょう。ちゃんと日本語に翻訳された禅の言葉が出てきましたね。クリックのたびに、異なった禅の言葉がコンソールに表示されます。
image.png
翻訳したらよけいに意味がわからない?ぜ、禅ってきっとそうゆうものですよ(汗)

それにしても、Language Translator ノードは簡単に使えていいですね。API 鍵さえ得ておけば、めっちゃ簡単にテキストの翻訳ができそうです!

おわりに

今回、Node-RED ではじめてちゃんと動作するアプリっぽいものを作った気がします。如何でしたでしょうか?

たった5個のノードだけで、禅の言葉を得て、翻訳までしちゃうんですから、凄いですよね。まあ、既存の禅APIと、IBM Watson の Language Translator サービスを繋いだだけなんですけどw

ではまた!

2
5
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
2
5