Technology Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
yasuyukiuno
Active Participant
1,715
SAP Cloud Platform Functionsを使ってLINE BOTを作成してみましたので、作り方を紹介します。
今回は入門編ということで、LINEトークに投稿したテキストメッセージをオウム返しするBOTを作成します。

できるようになること



  • LINEのBOTを作れるようになる。

  • 作ったBOTにメッセージを送ると応答メッセージを返信できるようになる。


所要時間



  • 1時間30分






参考: LINEについて


LINEはアジア圏、特に日本において普及しているSNSツールです。
日本国内におけるユーザ数は約7600万人。デイリーアクティブユーザー(DAU)は85%と、利用者数、利用頻度共に非常に高い数値を誇っています。



参考: LINE Messaging APIとは?


LINEのアカウントを通じてユーザーとの双方向コミュニケーションを実現するAPIです。




  • LINEのトーク画面を使った対話型Botアプリケーションの開発が可能となります。


このAPIは、宅配便の再配達受付や、年賀状の作成など、多くの企業LINEアカウントにて既に活用されています。



参考: SAP Cloud Platform Functionsとは?


SAPが先般発表したサーバレスアーキテクチャのプログラム実行環境です。
Node.jsで作成したプログラムを実行することが出来ます。







手順の概要



  1. チャネルの作成
    LINEアカウントでログインして初回登録(開発者登録やBOTアカウントの作成など)をする。

  2. Functionsのサービス有効化
    SAP Cloud Platform CF Trial Europe(Frankfurt)環境にアクセスし、Functionsを利用するための初期設定を行う。

  3. Node.jsのプログラムを作成する
    LINEトーク画面からのメッセージを受け取り、返信するプログラムを作成します。

  4. スマートフォン実機でのテスト


 

1.チャネルの作成


LINEの公式ページの通りに開発者登録、プロバイダ、チャネルの作成を行います。
今回私は、『オウム返しBOT』という名前のチャネル(BOTアカウント)を作成しました





チャネルの基本設定を行います。設定の変更箇所を朱書きしております。







 

2.Functionsのサービス有効化


2018年10月24日現在、FunctionsはSAP CP CF版TrialのEurope(Frankfurt)リージョンでのみ利用可能です。
また、Betaサービスを有効化する必要があります。

まず、Betaサービスが利用可能な新規サブアカウントを作成します。







次に、trial2サブアカウントのFunctionsサービスを有効化します。











Functionsのインスタンスを作成します。







 

3.Node.jsのプログラムを作成する


Functionsダッシュボードにアクセスし、プログラムを作成します。

プログラム名は『myfirstbot』にしました。





以下のコードをコピペしてご利用ください。
**********箇所をLINE BOTのチャネル用のアクセストークンに書き換えてください。

■index.js
var request = require("request");

module.exports = {
handler: function (event, context) {

if (event.data){
if (event.data.events[0].type == "message"){
if (event.data.events[0].message.type == "text"){

var options = {
method: 'POST',
uri: 'https://api.line.me/v2/bot/message/reply',
body: {
replyToken: event.data.events[0].replyToken,
messages: [{
type: "text",
text: event.data.events[0].message.text+"ですね"
}]
},
auth: {
bearer: '*********************************' // ここを自分のアクセストークン(ロングターム)に書き換えてください
},
json: true
};

request(options, function(err, res, body) {
console.log(JSON.stringify(res));
});
}
}
}

console.log('event data ' + JSON.stringify(event.data));

return 'OK';
}
}

■Dependencies
{
"dependencies": {
"request": "*"
}
}

(再掲)アクセストークンは、LINE BOTのチャネルの基本設定画面で確認できます。



ソースコードを編集したら、ダッシュボード右上のSave and Deployボタンを押して保存します。

次に、トリガ設定(何を契機として作成したプログラムを動作させるかの設定)を行います。今回は、HTTPトリガを利用します。




参考: Functionsで利用できるトリガ






















トリガ 説明
HTTP URLを発行し、そのURLに対してHTTPリクエストが行われたときに発火します。
Timer 一定時間おきに処理を実行できます。
Event SAP Enterprise Messagingと組み合わせ、外部から送られてきたイベントを契機としてアプリケーションを動作させることができます。












FunctionsのトリガURLをコピーし、LINE Developersのチャネル設定画面のWebhook URLにペーストします。



これで開発は完了です。テストを行います。

 

4.スマートフォン実機でのテスト


LINE Developersのチャネル設定画面のQRコードをスマートフォンで読み取り、友達追加を行います。





BOTに話しかけ、オウム返しすることを確認します。



以上でLINE BOTの作成が出来ました。

次の記事では、SAP Leonardo Machine Learning APIと連携し、LINEトークに投稿した画像をAIが判定するBOTの作り方について紹介する予定です。

Part 2 : SAP Cloud Platform FunctionsでLINE BOT開発(画像判定編)
1 Comment