アドベントカレンダー初日ゲットしました!が、初日でもありますし、私はLINE WORKS初心者向けの内容でスタートしようと思います。LINE WORKSは無料でもBot開発ができるようになってますので、Bot開発するまでのLINE WORKS側の設定や前提情報など書きます。
対象とする方
- LINE WORKSを初めて触る
- チャットボットって何?はなんとなく知っている、もしくは作ったことがある
- LINE WORKSでチャットボット作ってみたい
- REST API使った開発を行ったことがある
LINE WORKSとは
超簡単に言うと、ビジネス版のLINE(みたいなメッセージングサービス)にグループウェアのような予定表や掲示板などの機能を追加したサービスです。個人ではLINEで自由に色んな人とつながってコミュニケーションをとりますが、会社や組織、団体、コミュニティなど管理された範囲で利用するための機能があるプラットフォームですね。

詳細は以下参考になるかと思います。
プランによって費用が違います。ちょうど1年くらい前に無料プランができまして、機能に一部制限はありますが、初めてのBot開発ならフリープランで十分かと思います。プラン情報はこちら参照。

フリープランについての機能比較や有償との違いはここのよくある質問にまとまってます。
LINE WORKSセットアップに必要なもの
- インターネットがつながるパソコン
- 以下のブラウザのどれか(ブラウザ要件のドキュメントこちら)
- Internet Explorer: IE10, IE11
- Chrome: 最新版
- Firefox: 最新版
- Safari: 10.1 以降
- (任意:必要に応じて)Postman
- (任意:必要に応じて)callbackURL
Bot開発環境構成
Bot開発する時の構成イメージはこんな感じかと思います。
使うクラウドによっては、ローカルでの開発ではなくcloud9やherokuなどクラウド上で開発&テストすることもありますが、Botとユーザーが会話する上では、Botにメッセージなどを送信する時のLINEWORKS側のAPIと、Botからプログラムに対してメッセージなどを送信するためのCallbackが必要になります。

手順
それではさっそくLINE WORKSのセットアップから作業します。
LINEWORKS無料プランで新規開設
こちらに公式の新規開設手順あるんでそのままっちゃそのままですが
無料版に特化して手順書きます。
LINE WORKS 公式サイトにアクセス
LINE WORKS公式サイトにアクセスし、右上にある[無料ではじめる]をクリックします

新規開設方法を選択して認証
サービスを利用するグループの名前になる企業/団体名を入力します。

この業種はチュートリアルやガイド表示のために使われるようなので特に不要の場合には「選択しない」でよいと思います。
携帯電話の電話番号を入力し、[認証番号を送信]をクリックします。

携帯電話を持っていない人あるいは電話番号を登録したくない方は電話番号以外の認証も可能ですので別の方法で新規開設のリンクをクリックして設定してください。
アカウント情報を忘れた場合の確認用として使われるメールアドレスを登録します。

はい。登録完了しました。自分1人だけのワークスグループに誰か招待する場合にはここから招待できますしあとからでも追加できます。[サービスをはじめる]をクリックします。

電話番号のみのログインだけでなくIDとパスワードログインもできるように設定します。右上のアイコンクリックして表示されるメニューから個人情報をクリックします。

IDとパスワードを入力します。IDも一緒に変更できるようです。

管理者画面表示
右上の自分の名前をクリックして表示されるメニューの中から[管理者画面]をクリックします。

色々いじってみる
ユーザー操作感はLINEですし、管理者設定なども感覚で操作できますので習うより慣れろで色々いじってみればすぐに慣れるはず。わからないことあればこちらのガイドがわかりやすいかと思います。
プランのアップグレードをしない限りは有償になることがないので安心していじれますね。
フリープランでも有償の機能画面は見れたりするので、ひととおりボタンクリックして見てみるとよいかと。

設定しておいた方がいい作業
以下はBot検証のためやっておいた方がよいかと思います。
- 他のテスト用アカウントを数名追加する(自分だけだとルームすら作れない...) [ガイド]
- トークルームを適当にいくつか作成
- モバイルにアプリをインストールしてログインしとく(ボット作るにはモバイルUIも知っといた方がよい)
- 組織をいくつか作ってユーザーを所属 [ガイド]
- Bot登録作業するユーザーにはDevelopers権限を付与(初回登録したアカウントのままなら最高責任者になるので特に追加作業不要です) [ガイド]
Botの登録
BotアカウントはLINE WORKS Developer Consoleから登録します。
Developwer Consoleログイン
LINE WORKS Developer Consoleを開き、右上の[Developwer Condole]をクリックします。

私はログイン情報のキャッシュ拾ってそのまま次画面に遷移しましたが、キャッシュ情報がなかった場合にはLINE WORKS認証画面が表示されますので、Developer権限保有しているアカウントでログインします。
Developer権限がない場合にはこのようなエラー画面になりますのでAdmin画面から権限設定(権限設定ガイドこちら)してからもう一度Developer Consoleにログインしてください。
利用規約画面に遷移しますので内容確認後、同意チェックして[利用する]をクリック

これが LINE WORKS Developwer Console画面です。

APIの発行とBot登録
ドキュメントのこちらに詳細説明ありますが、APIには2種類あります。
- Service API(ログインユーザー本人のデータのみアクセスできるAPI)
- Server API(ドメイン内すべてのユーザーデータにアクセスできるAPI)
どういうボットを作るのかによって利用するAPIが変わります。
今回は、誰かが何か発言したらそのトークルームに何か返すというBotを想定してましたのでServerAPIになるかと思います。(多分)
まずはAPI IDの発行

ペロンと出てきて

発行完了

※LINE WORKS APIあるあるなんですが、「Service」と「Server」って見間違えやすいので注意です。
Step1でAPIの権限範囲を指定します。ここでは特に要件がないので全部チェックいれます。(後から変更可)

固定IPタイプのサーバーの場合の発行するToken設定を指定します。

発行されました。


次に、Server Listを登録します。今回はローカルで開発してボットサーバーに上げるので、そのタイミングでIPアドレスが変わってしまいますが、ローカル開発中は自分のパソコンのグローバルIPアドレスを登録することになります。
Server List(固定IPタイプ)の[追加]をクリックして

Server List画面でサーバー名とグローバルIPアドレスを入力し、Keyをプルダウンから選択後、[発行]をクリックします。

ポップアップが表示されるので[OK]をクリックします。

[同意して利用する]をクリックします。

はい。登録できました。

Bot登録
APIが準備できた所で、Botアカウントの登録を行います。LINE WORKSは、LINEやSlackと同様でボットアカウントをチャット側で提供してくれます。
Developer Consoleの左メニューから[Bot]をクリックします。

[登録]をクリック

Bot登録画面で該当する項目を埋めます。Callback URLは開発後でもいいですが、テストのためngrok使えば一時的に受信するhttpsのURLが発行できるので便利です。

Botの管理者を自分に設定して[保存]します。


Botのステータスが準備中になってますね。

トークBotの状態の見方はここのドキュメントにありますが、まだ今の状態だと私が作ったLINE WORKSのワークスグループに繋がってない状態です。

ドメインへのBot追加
ドメイン(ワークスグループ)に先ほど作ったBotアカウントを追加します。Admin管理画面に戻り、上のメニューからサービス>Bot>追加をクリックします。

先ほど作ったBotが表示されるのでチェックして[追加]


追加されましたが、非公開になってますね。

開き、公開設定にチェックを入れて[保存]をクリックします。

公開になりました。

チャット画面では管理者より通知されました。(これ通知しないという設定もどっかにありましたが開発用テナントなんで今回気にしない)

Developer ConsoleのBot画面のステータスもサービス中に変わりました。問題なさそう。

これでLINE WORKSとBotアカウント、ローカル環境がつながりました。
動作確認はPostman使うのが便利かと思います。(詳しくは明日以降のアドベントカレンダーでも投稿ありそうな予感..期待!!)


フリープランでAPIはどこまで使える?
ドキュメントのここに説明ありますが、フリープランだとBot10個までで、トークのみしか使えないです。
(´・ω・`)ショボーン
kintoneみたいにDeveloperプランとかあったらなー...LINE WORKSさーん
壁|||ω`)<チラリ)

まとめ
LINEWORKS側のセットアップからボット開発できるようになるまでをまとめました。次回は、実際のボット開発をまとめてみようと思います!
皆でこんなボット作ったよっていうのがあったら是非教えてください♪













