【GoogleAppsScript】LINEWORKS のライブラリを公開しています!


サーバ不要でサービス環境作れてしまう、とっても便利な GoogleAppsScripts
略称は GAS ( ゚Д゚)
無料で使えるのに、サーバも兼ねてくれてとっても便利♪

そんな GoogleAppsScript で LINEWORKS のライブラリを作りました!
LINEWORKS API の認証が簡単にできますので、是非、ご利用ください♪

LINEWORKS って?

LINEWORKS は LINE ユーザと連携できるビジネスチャットです。
Free 版があり、無料で使えるのですが無料版でもトーク Bot を利用できます。

個人的には LINE Bot より設定しやすいので WEB API と Bot の連携を試したり、勉強するときには重宝しています。

登録したライブラリ

ライブラリ名 : LINEWORKS
スクリプト ID : 1aLcCr3CWqfenPMyM0_FWIDUgRcTxsit9bO6BTx61NCXrCtkY2zbHBlod
概要 : LINEWORKS のトーク Bot API ライブラリ

現在、以下のことができます。(2020/05/26 時点)
- LINEWORKS API を使うための token 認証
- Test 用 トーク Bot の登録
- トーク Bot からメッセージを送信
- トーク Bot の固定メニューを登録
- GoogleSpreadSheet に受信ログを記録

などなど。
機能は順次追加していきまーす。

ライブラリの登録方法

  1. GoogleAppsScripts 画面上部の「リソース」-「ライブラリ」をクリック
  2. [Add a library] の欄に 1aLcCr3CWqfenPMyM0_FWIDUgRcTxsit9bO6BTx61NCXrCtkY2zbHBlod を入力して追加ボタンをクリック
  3. 「LINEWORKS」ライブラリが追加されるので、一番新しいバージョンを選んで保存ボタンをクリック

これで登録完了です!
簡単ですねー。

文字だけじゃちょっとわかりにくいという方は、下記記事で画像付きで解説してくれていますよ~
GASスクリプトを他のファイルで利用する時のメモ(Webアプリケーションとして公開)

LINEWORKS ライブラリの紹介

ライブラリを登録すると、GoogleAppsScripts に下記のように記述することでライブラリを使用できます。

sample.gs
function setOptions(){ // 自分の LINEWORKS アカウントの情報 
  return {
    "apiId" : "xxxxxxx",
    "consumerKey" : "xxxxxxxxx",
    "serverId" : "xxxxxxxx",
    "privateKey" : "-----BEGIN PRIVATE KEY-----\nxxxxxxx\n-----END PRIVATE KEY-----",
    "botNo" : 0000000
  };
}
function sample() {
  const accountId = "Your accountId";
  const domainId = "Your domainId";
  const callbackURL = "BotServer CallbackURL";
  const message = "Message Text hogehoge";
  LINEWORKS.regTestBot(setOptions(), accountId, domainId, callbackURL);
  LINEWORKS.sendMsg(setOptions(), accountId, message);
}

事前設定

function setOptions() は API の利用認証に使用する情報が入っています。
どのライブラリでも使用するので、あらかじめ作っておくと便利です。

apiId や domainId なんかは LINEWORKS の Developer Console で確認できます。
BotNo は Bot を登録すると取得できるので、あとで記載します。

LINEWORKS Developer Console については公式サイト をご参考ください。

公式じゃわかり辛い!って方はこの方の記事がわかりやすいですよー。
LINE WORKSで初めてのBot開発!(前編)

ライブラリの使い方

ライブラリを使うには LINEWORKS. と打ち込みます。
すると、ライブラリに登録されている関数が表示されます。(最後のドットを忘れずに!)

まずは、サンプル Bot を登録する regTestBot をご紹介。

.regTestBot(setOptions(), accountId, domainId, callbackURL)

.regTestBot は面倒な Bot 登録作業をいっぺんにやってくれます。

  • setOptions() は事前設定で設定した API ID などの情報が入ります
  • accountId は Bot 管理者の ID を指定します
  • domainId は使用している LINEWORKS テナントの domainId を指定します。これも Developer Console で確認できます。
  • callbackURL は Bot を設置しているサーバの URL を指定します。

実行するとこんな感じで登録され、トークで BotNo を通知してくれます。

取り敢えず Bot 作って、細かいところは後で修正!って使い方が便利です。
通常、LINEWORKS で Bot を手動で登録するには 2つの STEP があるのですが、

  1. Developer Console で Bot を登録する
  2. 管理者画面で Bot を公開する

と、なっていて、Developer Console と管理者画面両方開くの面倒なんですよね!( ゚Д゚)
API でやるときも、2種類使用しないといけないしー。
なので、取り敢えず登録して、そのあと名前やらアイコンやらを変更しています。

GoogleAppsScripts での callbackURL の取得方法

余談ですが、GoogleAppsScripts での callbackURL の取得方法の解説を。
GoogleAppsScripts は Bot サーバになります。
以下の手順で callbackURL を取得することができます。

  1. 「公開」-「ウェブアプリケーションとして導入」をクリック
  2. 出てきた画面で以下の設定をします。
    • Project version : NEW
    • Execute the app as : Me
    • Who has access to the app : Anyone, even anonymous
  3. [更新] をクリック

このとき、Google からセキュリティの警告が出て許可を求めることがあります。
気にしない人はそのまま許可出しちゃってください。
気になる方は解説サイトを確認の上、設定を行ってください。

公開が完了すると「現在のウェブ アプリケーションの URL」が取得できます。
こちらを callbackURL に指定します。

.sendMsg(setOptions(), accountId, message)

.sendMsg は Bot からユーザにメッセージを送信します。

  • setOptions() は事前設定で設定した API ID などの情報が入ります
  • accountId はメッセージを送信するユーザの accountId を指定します
  • message にはメッセージ内容のテキストを指定します

すごくよく使います!(*‘∀‘)
Bot はしゃべってナンボですからね~。

スクリプトは随時追加していきます

ライブラリ内のスクリプトは随時追加していきます!ヾ(´∀`)ノ ガンバリマス

以前ご紹介しましたが、トークルームに追加すると roomId を教えてくれる roomId check Bot もライブラリに追加されています。
使い方は .regTestBot と同じです。

.regRoomIdCheckBot(getObj(), "accountId", domainId, "callbackURL")
トークルームの roomId を取得する bot

良かったら使ってみてください!

おわりに

ライブラリ作るの、思ったより楽しいです。
サービスとして成り立つレベルかと問われると「頑張ります!」と答えます('ω')

API を提供する側になるのもいいなー、と最近思ったり何たり。
チャンスやご縁があればチャレンジしてみたいものです。

コロコロムーブメントのせいで何かと保守的になりがちですが、ドキドキワクワクを忘れずに色んなことに挑戦していきましょー!ヾ(´∀`)ノ

ではまた!

参考にさせていただきましたm(_ _)m

GoogleAppsScript 公式サイト
LINEWORKS Developers

GASスクリプトを他のファイルで利用する時のメモ(Webアプリケーションとして公開)
LINE WORKSで初めてのBot開発!(前編)