Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
yasuyukiuno
Active Participant
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
Labels in this area