GASで簡単にLINE botを作成! – API基本設定からメッセージ取得・送信方法まで解説!

じょるブログ

現役理系大学生による大学生に向けた情報サイト

インストール web API

GASで簡単にLINE botを作成! – API基本設定からメッセージ取得・送信方法まで解説!

投稿日:

 

この記事ではGAS(google app script)LINE message APIを使って、LINE BOTを作る方法について解説していきます。

今回は、メッセージを送信したら送信したメッセージを返信する、といった基本的な動作を行う LINE BOT を作っていこうと思います。

ネット上では Heroku というクラウド上でアプリケーション開発ができるプラットフォームを使用して LINE BOT を作成している事例が多く、僕も一度この 方法で作成してみたことがあるのですが、作成手順が少し複雑であり、理解しながら作成していくと結構時間がかかってしましました。

しかし、GASでは Heroku のように細かな設定やインストールなどを行わずに、ただプログラムを書いて公開するだけで作成できるので、初めて LINE BOT を作成する方は、GASによる作成方法の方が断然おすすめです!

  

Google Apps Script (GAS) について

Google Apps Script (GAS)は、スプレッドシートや グーグルカレンダー、Gmailなどの Google AppsのAPIを呼び出し、各種機能を実行したり、連携したりすることのできる、Googleが開発した JavaScript ベースの言語です。

主な特徴として

  • 無料で利用できる
  • WEBアプリケーションの公開やAPIの作成もサポートしている
    (無料で自分のサーバーが持てる)
  • Google Apps との連携が容易

等があります。

なので、LINE BOTに特定のメッセージを送信した際に、 グーグルカレンダー に自動で予定を追加したり、Gmailを送信したりなどの、 LINEとGoogle Apps との連携を行いたい場合は特におすすめです。

    

作成手順

  • LINE Developers のアカウント作成
  • Messaging API の初期設定
  • LINE BOT の作成

   

・LINE Developers のアカウント作成

まずはLine Messaging APIを使用するためにLINE Developersのアカウントを作成していきます。

1. LINE Developers にアクセスし、ログインをクリックします。

   

2. 「LINEアカウントでログイン」をクリックします。

   

3. 普段使っているスマホのラインのメールアドレスパスワードを入力します。

または「QRコードログイン」をクリックしてパソコンに表示されたQRコードを 、スマホでラインを開き「友達追加」→「QRコード」でスキャンすることでもログインできます。

   

4. ログインできると以下のような画面が表示されるので、LINE Developersで使用したい名前メールアドレスを入力し、「Create my account」をクリックします。

   

・Messaging API の初期設定

続いてMessaging API を利用するための設定を行っていきます。

1. 先ほどの画面で「Create my account」をクリック すると以下の画面へと切り替わるので「新規プロバイダー作成」をクリックします。

    

2. プロバイダー名を入力し、「作成」をクリックします。

(プロバイダー名はアプリを提供する組織の名前とのことなので自分の名前等を入力します )

    

3. 「Messaging API」 を選択します。

  

4. チャンネルの概要を設定します。赤丸で囲ったところを入力し、「作成」をクリックします。

    

・LINE BOT の作成

続いて、GASを使用して LINE BOT を作成していきます。

WEBアプリの作成(GAS)

1.  「Messaging API」 →「(チャンネルアクセストークン)発行」をクリックし、表示されたトークンを控えておきます。

   

2. Google Drive にアクセスし、「新規」をクリックします。

   

3. ポップアップが表示されるので、「その他」→「Google Apps Script」をクリックします。

   

4. スクリプトを作成していきます。

4.1 まず、左上をクリックしスクリプト名を設定します。

4.2 次に四角く囲んだところに以下のソースコードを記入します。

function doPost(e) {
  var replyToken= JSON.parse(e.postData.contents).events[0].replyToken;
  if (typeof replyToken === 'undefined') {
    return;
  }
  
  var url = 'https://api.line.me/v2/bot/message/reply';
  var channelToken = 'xxxxxxxxxxxxxxxxxx'; //先ほど控えたチャンネルトークンを記入
  var receive_message = JSON.parse(e.postData.contents).events[0].message.text;
  var reply_text = receive_message;
  var messages = [{
    'type': 'text',
    'text': reply_text,
  }];

  UrlFetchApp.fetch(url, {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + channelToken,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': replyToken,
      'messages': messages,
    }),
  });
  
  return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}

※ channelToken = ‘xxxxxxxx’ には先ほど発行したチャンネルアクセストークン(ロングターム)を記入します。

   

5. 作成したスクリプトをWEBアプリとして公開します。

5.1 「公開」→「WEBアプリケーションとして導入」をクリックします。

5.2 「Anyone, even anonymous」を選択し、「Deploy」をクリックします。

5.3 「許可を確認」をクリックします。

5.4 「詳細」→「移動」をクリックします。

5.5 「許可」をクリックします。

5.6 表示されたURLをコピーします。

   

Messaging API へ作成したWEBアプリを登録

これでWEBサーバーを立ち上げることができたので、このWEBアプリケーションを 「Messaging API」 で使用できるように設定していきます。

1. 「Messaging API」 →「webhookURL」→「編集」をクリック

   

2.  先ほどコピーしたWEBアプリのURLを記入し、「更新」をクリック

    

3. 「webhookの利用」を「ON」に変更

   

応答設定

続いて、メッセージを送信した際のBOTの応答設定を行います。

初期状態だとBOTにメッセージを送信した際に、デフォルトの応答メッセージが返信されるようになっているのでこれをオフにします。

1. 「Messaging API 設定」→「応答メッセージ」→「編集」をクリックします。

  

2. 「詳細設定」→「応答メッセージ」→「オフ」を選択します。

  

動作確認

以上で設定は完了です。最後に動作確認をします。

Messaging API 設定」 の「QRコード」をスマホのラインで読み取り、友達追加します。

  

追加したらトーク画面で何かメッセージを送信してみてください。

するとこのように送信した内容がそのまま返信されてきます。

   

最後に

今回はGASを使ってLINE BOTを作成しました。

より本格的なものを作りたい場合は冒頭でも説明した heroku を使うのもありかもしれません。

ただ、Heroku はGASと同様に無料で使用できるものの、何かと制限が多く、例えば数時間WEBアプリを使用しないとサーバーが省エネモードになってしまうなどの制限があります。

これにより、しばらくLINE BOTを使用していないと、メッセージの返信が遅くなってしまうなどの問題が生じてしまいます。

ただ、GASではJavaScriptしか使えませんが、 heroku ではPHPやPythonなどいろいろな言語を使用して開発できるといったメリットもあります。

応答性を重視するか、汎用性を重視するかで使い分けましょう。

  

次回はLINE APIを使用してラズパイで自作したスマートデバイスを操作してみようと思います。

google ads




google ads




-インストール, web, API

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

ラズベリーパイでICカードのデータを読み取る

今回はSONYのICカードリーダー( RC-S320 )を使用して、suicaなどのICカードを読み取り、 idm(ICカードの固有番号、ICタグ)や残高、交通履歴などを取得する方法についてご紹介しま …

LINEで自作IoTデバイス[スマートロック・リモコン]を操作する(市販品も可)

    ラインから手軽にスマートデバイスを操作する方法について解説します。 この記事ではラズパイで自作したスマートデバイスをラインで操作する方法について解説しますが、IFTTT経由で操作できるものであ …

git のインストールと基本コマンド

ここではgitのインストールと、Githubの基本的なコマンドを備忘録として記載します。   インストール https://git-scm.com/downloadsからGitをダウンロードしてインス …

Google Apps Scriptを使用してスプレッドシート上の図形を押した際に、プログラムを実行させる

    大学生の電子工作 ラズパイでスマートロック作ってみた⑤の記事に関連して、スプレッドシート上に設置したボタンを押した際に Google Apps Scriptを用いたプログラムを実行することで、 …

ラズパイで取得したIoTデータをグーグルスプレッドシートに自動記録

今回はPythonを使って、ラズパイに接続してあるセンサーから取得したデータなどをグーグルスプレッドシートに自動で記載する方法について記載します。グーグルスプレッドシートに記載することで、スマホなどか …




関連記事