11
6

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 5 years have passed since last update.

LINEWORKSAdvent Calendar 2019

Day 15

LINE WORKS APIをPostmanから叩いてみる

Posted at

#はじめに
「LINE WORKSのAPIを使ってみたいんだけど、何から始めればいいですか?」という方に向けて、この記事を書いています。
プログラミングする前に、まずLINE WORKSのAPIの仕様を確認したい時や、ちょっとしたトラブルシューティングしたい時、API実行時のパラメーターの設定方法があっているか確認したい時、応答のJSONがどんな形式で返ってくるのか確認したい。そんな時にとってもPostmanが便利なんです!!!!

Windows版・Mac版それぞれアプリがあるので環境にも依存しません!まず、ここから始めてみませんか?

#Postmanインストール
Postman
image.png

[Download the App]をクリックして、Windows版・Mac版のアプリをダウンロードし、インストールしてください。

#LINE WORKSのDeveloper Console設定
APIを叩く前に、LINE WORKSのDeveloper Consoleでいくつか設定が必要です。
##Developer Consoleへアクセス
①LINE WORKSのDeveloper Consoleへアクセスします。
②LINE WORKSのIDを入力してログインします。
image.png

下記画面が出力された場合は、Developer Consoleへのアクセス権限がありません。Developer Consoleへアクセスするためには、ライトプラン以上のテナントの「最高管理者」もしくは「副管理者」の権限が必要です。権限の付与手順は、こちらを参考にしてください。
image.png

③[LINE WORKS APIサービス利用規約]を確認し、[APIサービス利用規約の内容を理解し、これに同意します。]にチェックを入れ、[利用する]ボタンをクリックします。
image.png

##API IDを発行する
LINE WORKS Bot APIを使うにあたり、ドメインごとに「API ID」が必要となります。「API ID」はDeveloper Consoleで発行します。

①[Developer Console]へアクセスします。
②[API]メニューの一番上にある[API ID]の[発行]ボタンをクリックします。
image.png

③API IDが発行されました!
image.png

サーバーAPIのコンシューマーキーを発行する

Botがユーザーにメッセージを送信する時には「サーバーAPI」を利用します。
また、サーバーAPIを利用する時には、「サーバーAPIコンシューマーキー」と「Server Token」をヘッダーに含める必要があります。まず、Developer Consoleで「サーバーAPIコンシューマーキー」を発行します。
①Developer Consoleへアクセスします。
②[API]メニューの真ん中にある[Server API Consumer Key]の[発行]ボタンをクリックします。
image.png

③サーバーAPIの利用範囲を聞かれるダイアログが表示されます。今回はBotのみ利用するため、[トークBotすべて]を選択し、[次へ]をクリックします。
image.png

④[Tokenの有効期間]は「短く設定することを推奨しています。」と注意書きも書いてあるので、一番短い7日間に設定しましょう。また、Tokenを利用した時に自動的にTokenの有効期限を延長する場合は、[Tokenの使用時に有効期間を自動延長しますか?]にて、[はい]を選択します。完了したら、[保存]をクリックします。
image.png

⑤サーバーAPIコンシューマーキーが発行されました!
image.png

##Server Listを追加する
次に、サーバーAPIを利用する時にヘッダーに含める必要がある「Server Token」についてですが、「Server Token」を取得するためには「サーバーID」と「認証キー」が必要となります。Developer Consoleでこの2つを発行しましょう。
ちなみに、このServer Tokenも2種類「固定IPタイプ」と「ID登録タイプ」があります。今回は、ローカルのPCにインストールしたPostmanから実行するためIPアドレスが変わりません。そのため、今回は「固定IPタイプ」を使います。

【補足】
Botサーバーをクラウド上に構築する場合は、IPアドレスは変わると思いますので、「ID登録タイプ」を使いましょう。

①Developer Consoleへアクセスします。
②[API]メニューの[Server List(固定IPタイプ)]の[追加]ボタンをクリックします。
image.png

③表示されたダイアログの[サーバー名]欄には任意の値を入力します。ここでは、わかりやすいように「Postman」としました。[Keyの選択]で、先程発行したService API Consumer Keyを選択します。
[IP]には、パブリックIPアドレスを入力します。わからない場合は、ここなどで調べましょう。
全て設定できたら[発行]ボタンをクリックします。
image.png

④Tokenが発行されるので[コピー]ボタンをクリックし、Tokenを保存しておきましょう!
image.png

⑤[同意して利用する]ボタンをクリックして閉じます。
(何に同意・・・?)

#PostmanだけでトークBotを作ってみましょう!
##APIを叩く時の共通設定
API を呼び出す際には、必ずヘッダーに認証トークンとコンシューマーキー(サーバーAPIを叩くときは、サーバーAPIコンシューマーキーのこと)を含める必要があります。この設定は、以下の手順で全て共通です。

Postmanでは、[Headers]タブに、下記のように指定します。

KEY VALUE
consumerKey <サーバーAPIコンシューマーキー>
Authorization Bearer <Token>
(「Server Listを追加する」④で発行したToken。
'Bearer'と'Token'の間には空白(space)を必ず入れること。)

image.png

##Bot登録
LINE WORKSへBotを登録します。
ドキュメント:トーク Bot のテナント登録

ドキュメントをみて、Request URLとHTTP Methodを確認します。

KEY VALUE
Request URL https://apis.worksmobile.com/r/{API ID}/message/v1/bot
HTTP Method POST

①Postmanで、HTTP Method(B欄)で「Post」を選択肢、Request URL(A欄)にドキュメント通りにRequest URLを入力します。
image.png

②次に、Bodyにパラメーターを指定していきます。トーク Bot のテナント登録の「Request Example」の「Simple」欄に記載があるものが、必須のパラメーターのみ指定した例になります。これをコピーして、PostmanのBody欄の[raw]を選んで、その下にペーストします。ペーストした値を自分の環境にあったものに変更します。
image.png

③Headersに「APIを叩く時の共通設定」の内容が設定されていることを確認し、[Send]をクリックします。

④正常に動作すると、画面下部にレスポンスが返っていきます。Status欄に「200 OK」と返ってきて、botNoがBody欄に表示されていたら、正常にBotが登録されています!
image.png

⑤Developer Consoleの[Bot]欄をみると、登録したBotが表示されていることを確認することができます。
image.png

##登録されたBotの利用設定
Botを利用できるように、ドメインに登録します。
ドキュメント:トーク Bot のドメイン登録

①先ほどと同じように、ドキュメントを参照し、Request URLとHTTP Methodを設定します。

KEY VALUE
Request URL https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/domain/{domainId}
HTTP Method POST
  • {API ID}は、Developer ConsoleのAPIメニューのAPI ID欄を参照。
  • {botNo}は、Developer ConsoleのBotメニューの登録したBotを参照。
  • {domainId}は、Developer Consoleの左メニュー一番下の[Domain ID]を参照。

image.png

Postmanで指定した場合、下記のようになります。
image.png

②Botのドメイン登録は、Bodyに指定する必須パラメーターはありませんので、このまま[Send]をクリックします。
※Headersに「APIを叩く時の共通設定」の内容の設定することを忘れずに!

③Status欄に「200 OK」と返ってくれば正常です。
image.png

Admin Console上でBotが登録されていることを確認します。
※公開設定は、[非公開]になっています。
image.png

##Botをテナント内で公開にする
Botを公開すると、LINE WORKSのテナントに登録されているユーザーはBotを見つけることができます。

ドキュメント:トーク Bot ドメイン設定の修正

①ドキュメントを参照し、Request URLとHTTP Methodを設定します。

KEY VALUE
Request URL https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/domain/{domainId}
HTTP Method PUT

②公開設定を「公開」に変更するので、Body欄に下記のように指定します。

{
  "usePublic": true
}

Postmanで指定すると、下記のようになります。

image.png

③設定が完了したら、[Send]をクリックします。
※Headersに「APIを叩く時の共通設定」の内容の設定することを忘れずに!

④Status欄に「200 OK」と返ってくれば正常です。
image.png

##Botからメッセージを送信する
いよいよBotからメッセージを送ってみましょう!ここではまず簡単なテキスト文を送ります。

ドキュメント:メッセージ送信(text)

①ドキュメントを参照し、Request URLとHTTP Methodを設定します。

KEY VALUE
Request URL https://apis.worksmobile.com/r/{API ID}/message/v1/bot/{botNo}/message/push
HTTP Method POST

②Body欄に下記のように指定します。

{
  "accountId": "admin@example.com",
  "content": {
    "type": "text",
    "text": "こんにちは!よろしくお願いします!"
  }
}
  • accountIdは、メッセージを送信するユーザーのアカウントIDを指定します。
  • 送信するメッセージの内容をtextパラメーターで指定します。

Postmanで指定すると、下記のようになります。
image.png

③設定が完了したら、[Send]をクリックします。
※Headersに「APIを叩く時の共通設定」の内容の設定することを忘れずに!

④Status欄に「200 OK」と返ってくれば正常です。
image.png

⑤LINE WORKSのトーク画面で、Botからメッセージが送信されていることを確認します。
image.png

Botを作成して、メッセージを送信するところまでPostmanで出来ました!

#Postmanを使ってサンプルコードを作成
PostmanはあくまでAPIをテスト実行するためのツールです。
実際にBotを開発しようと思うと、Bot用のサーバーを構築し、プログラミング言語で開発する必要があります。
プログラミングの過程でも、Postmanは役立ちます!

実は、この[Code]というところをクリックすると、様々なプログラミング言語でのサンプルコードが生成されるのです!!
image.png

image.png

LINE WORKSのDeveloperサイトにサンプルコードがなくても、Postmanさえあれば問題なしです!(笑

最後に

久々に、LINE WORKSのトークBot API叩いてみましたが、RESTful対応してめっちゃ使いやすくなってた・・・嬉しい!!:relaxed:
トークBotが送信できるメッセージの種類もTextタイプだけでなく画像付きのカルーセルやリストボタンなども対応していますし、リッチメニューなども設定可能です。
Postmanでぽちぽち叩いてみて、どんなことができるのかぜひ試してみてください!

image.png

image.png

11
6
0

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
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?