LINE WORKS のトーク Bot API を Postman でサクっと試してみる

# 手っ取り早く LINE WORKS のトーク Bot API を実行してみる

この記事では、LINE WORKS のトーク Bot API をとにかく実行して、LINE WORKS の利用者に Bot からチャットを送信してみる方法を説明します。

## Postman の入手とインストール

ここでは Postman というツールを利用します。Postman は Web API を試してみたいといったときに、便利なクライアント アプリです。

TITLE: Postman | The Collaboration Platform for API Development
URL: https://www.getpostman.com/

Windows, macOS, Linux それぞれに対応しています。ダウンロード ページからインストーラーを入手して、インストールしましょう。

TITLE: ‎Download the App
URL: https://www.getpostman.com/downloads/

インストールが完了すると、Postman が起動します。サインインを求める表示が出る場合もありますが、これはスキップすることでサインインせずに使うこともできます。

スクリーンショットは  Windows 版です。その他のプラットフォームもほぼ同様です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/d8386af2-4e4b-95b3-9893-aff3d6183388.png)

## LINE WORKS の API を利用する準備

LINE WORKS の API を利用するために、LINE WORKS の Developer Console で、いくつかの事前準備を行います。

Developer Console の説明はこちらにあります。

TITLE: LINE WORKS Developers
URL: https://developers.worksmobile.com/jp/document/13?lang=ja

Developers の権限が付与されたアカウントで次の URL から Developer Console にアクセスしましょう。LINE WORKS のサインアップ時に作成したアカウントは最高管理者の権限が付与されており、Developer の権限も含まれます。

https://developers.worksmobile.com/jp/console/openapi/main

最初のアクセスでは、利用規約の同意を求められます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/7b540f98-1849-f464-ee49-fda57048c990.png)

"同意" して [利用する] をクリックすると、コンソールが開きます。

Postman から トーク Bot API を使うために以下の発行と追加を行います。
- API ID
- Server API Consumer Key
- Server List (固定IPタイプ)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/9b0d87c2-9e60-ac13-f469-61833166ca33.png)

- API ID  
[発行] ボタンをクリックすると生成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/e061c6a4-25ac-04bc-84e4-9aaf5e692daf.png)

- Server API Consumer Key  
[発行] ボタンをクリックすると、Server API Consumer Key 権限設定のサブ ウィンドウが開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/550dc2af-2cf7-02ec-3787-1d1098971c1f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/a5c6fda6-7e31-a8f0-e7bb-144f787ca8ad.png)

"トークBotすべて" をチェックし [次へ] をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/bd97e183-13e3-1a28-90cd-18f0965257d5.png)
"有効期限" と "自動延長" の設定を適宜行い、[保存] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/f735cab6-5f19-3ac5-aae3-933e4319e962.png)
Server API Consumer Key が生成されます。

- Server List (固定IPタイプ)  
Postman を実行するコンピューターの利用しているグローバル IP アドレスを調べます。
アクセスすることで利用中のグローバル IP アドレスを表示する Web サービスがあるのでそれらを利用しましょう。

例: http://www.cman.jp/network/support/go_access.cgi
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/ba0d4f3d-bf34-fbab-0bcb-358348eed01f.png)
確認したグローバル IP アドレスはメモしておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/55555e58-2a8c-bb48-8020-6106a82de143.png)

LINE WORKS Developer Console で Server List (固定IPタイプ) の [追加] ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/2d89ae70-0d33-8b3b-847b-d18117bacc56.png)

新しいウィンドウが開きます。次のように入力します。
サーバー名: 任意の名前
Keyの選択: プルダウンから先ほど作成した Server API Consumer Key を選択
IP: 先ほど調べたグローバル IP アドレス

[発行] ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/51257984-f0cc-64ed-ac01-33b691f8e90d.png)
Token が生成されます。[同意して利用する] をクリック。

## LINE WORKS に Bot を登録する
LINE WORKS の Developer Console から Bot を登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/61d822cf-bd85-ee29-353b-abb7c731dabb.png)
Developer Console の Bot メニューで [登録] ボタンをクリックします。

Bot登録の画面で必要な項目をそれぞれ入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/79b6efbd-0a2e-d6d5-924c-21a4f6f2e93c.png)
Bot名: 任意の名前
「説明」: 任意の説明
管理者/主担当: 任意のメンバーを主担当に指定

その他の項目は今回は不要です。[保存] ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/54283010-fe83-17c4-47f2-d5d4e9d2638d.png)

Bot No. が生成されます。Bot No. はメモしておきましょう。

## 登録した Bot の利用設定
こちらの URL から LINE WORKS の管理者画面の Bot の利用設定ページにアクセスし、[+追加] ボタンをクリックします。
https://bot-admin.worksmobile.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/ceb9c653-5ef6-5c1c-486d-46c131a6797b.png)

先ほど登録した Bot を選択し、[追加] ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/c64be3cf-83ff-abae-5317-c37faf2e45cb.png)


## Postman で LINE WORKS トーク Bot API を実行

トーク Bot API でテキスト メッセージを送信します。API の説明はこちらのページを参照してください。

TITLE: メッセージ送信 (text)
URL: https://developers.worksmobile.com/jp/document/100500801?lang=ja

こちらのドキュメントに記載のとおり Request URL は以下です。
https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/message/push
{API ID} と {botNo} は、前の作業で生成された値に置き換えます。

例えば次のようになります。
https://apis.worksmobile.com/r/jp1iDZPxBenMo/message/v1/bot/101578/message/push

HTTP Method は POST です。

ここまでの内容を Postman に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/9fc77e1d-1e27-15f6-ba22-1fc9f61bcc9c.png)

さらに Postman の Authorization タブを開いて、次の設定を行います。

TYPE をプルダウンから "Bearer Token" を選択。
Token に Server List(固定IPタイプ) で生成した Token を入力。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/b170624a-9129-5606-2f2e-f8a1521ab587.png)

次に Headers タブを開いて、以下の内容を入力します。

Key: Content-Type Value: application/json; charset=UTF-8
Key: consumerKey Value: <前の手順で生成された Server API Consumer Key の値>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/74d5288f-f1ff-61f8-91dc-b1ccaf321421.png)

引き続き、Body タブを開いてドキュメントの Request Example の内容を基に、次のとおり入力します。入力形式は [raw] を指定します。"accountId" は書き換えてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/cf95f930-557c-cf4d-4686-5cb76fa1fa92.png)

以上で準備が整いました。

Bot からのメッセージを確認するために LINE WORKS のトーク画面を開きましょう。
ブラウザで確認する場合はこちらの URL です。
Https://talk.worksmobile.com/

またはモバイル アプリや PC/Mac のアプリでログインしてもよいです。

Postman の [Send] ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/30afbb9f-c11e-af85-cd28-91bb01b67ff1.png)

200 OK の Status が返れば正常にメッセージが送られています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/6b49cd8e-c14e-e70c-cd70-cf613aba32bd.png)

ブラウザで Bot からのトークを受信した様子です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/87cb6854-1f46-9dc6-650f-5430164ef7a8.png)

# ありがちなエラーと対処
Postman で [Send] ボタンをクリックしても、メッセージが届かず 200 OK のレスポンスも返らない場合は、Postman の Http Response の Body の内容を確認しましょう。

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/8fed0138-0433-46eb-58a4-c0dfb88ab9b2.png)
存在しない API ID を記述しているケース。API ID を修正しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/4e9d17af-a5fb-e5f3-5e61-9ee12a7bd050.png)
Server API Consumer Key または Server List(固定IPタイプ) の Token の相違。正しく key や Token の Value を記述しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/37cf8adc-590b-5bee-ce69-1b7ce515bb88.png)
accountId の相違。存在しないメンバー宛に送ってしまっているなど。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/938cad3c-4434-a832-de0c-76430365283e.png)
Server List(固定IPタイプ) で登録したのとは異なる Global IP Address から実行している。