楽天APIを使用して書籍を検索できるLINEBotを作成しました。
ネットショッピングするときに大量のデータを見るだけで、時間がかかってしまったこと、
結局どれを購入すべきかわからなくなったこと、皆さんもありませんか?
なので、売上1位書籍だけを取り出せるLINEBotを作成しました。
##完成したもの
##環境
- LINE公式アカウント開設
- LINE Developersアカウント登録
- Herokuの登録
- Node-REDインストール、アカウント登録
- 楽天ブックス書籍検索API
##作り方
2.「function」ノード(左側):受け取ったメッセージ格納
// LINEサーバーからの情報を「msg.line」に移動させる
msg.line = msg.payload;
// msg.payloadにメッセージ本体を入れる
msg.payload =
{
"format": "json",
"applicationId": "アプリID",
"booksGenreId": "001004008",
"hits": 1,
// 売上順にソートするよう設定
"sort": "sales",
// Lineに入力されたタイトルを設定
"title": msg.payload.events[0].message.text
};
return msg;
3.「http request」ノードの編集
5-1.「function」ノード(上側):検索した結果0件だった場合
const result = '検索結果がありません。';
// LINEサーバーからの内容を復元する
msg.payload = msg.line;
// 返信メッセージをhttp requestの結果にする
msg.payload.events[0].message.text = result;
return msg;
5-2.「function」ノード(下側):検索結果が1件以上の場合
// http requestの結果を取得する
item = msg.payload.Items[0].Item;
const result ='売上No.1書籍\nタイトル:' + item.title + '\n' + '筆者:' + item.author + '\n' + '詳細:' + item.itemCaption + '\n' + 'URL:' + item.itemUrl;
// LINEサーバーからの内容を復元する
msg.payload = msg.line;
// 返信メッセージをhttp requestの結果にする
msg.payload.events[0].message.text = result;
return msg;
6.Reply Messageの設定
##まとめ
時間はすごくかかりましたが、完成できてほっとしています。
最後まで読んでいただきありがとうございました。