13
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-05-26

サーバ不要でサービス環境作れてしまう、とっても便利な 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 を通知してくれます。

1590472891.png

1590472785.png

取り敢えず 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 にはメッセージ内容のテキストを指定します

1590474674.png

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

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

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

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

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

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

おわりに

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

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

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

ではまた!

#参考にさせていただきましたm(_ _)m
GoogleAppsScript 公式サイト
LINEWORKS Developers

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

13
12
11

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?