LINE WORKS API を Postman でコールしてみる（Service API編）

##0. はじめに

本記事は下記の３回に分けて Postman を使用した LINE WORKS API のコール方法を書いてま〜す。

 * [第１回 準備編](https://qiita.com/shotamaco/items/a6e93bbc0ece64614233)
 * [第２回 Server API 編](https://qiita.com/shotamaco/items/dd58bd7e2e67533c2be7)
 * 第３回 Service API 編

本記事は、第３回 Service API 編です。
Service API 編を行う前に必ず「[準備編](https://qiita.com/shotamaco/items/a6e93bbc0ece64614233)」の作業を終わらせておいてください。

流れは下記の通りです。

1. Service API 用の Access Token 取得
2. 取得した Access Token で各 Service API をコール
3. まとめ

#1. Service API 用の Access Token 取得

「Service APIs」Collection の Authorization の設定を行い。一発で Access Token を取得できるようにします。

「Service APIs」Collection の 「・・・」、「Edit」をクリック。
![postman001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/7cc57877-860b-6313-5c59-24e00423c2d1.png)
「Authorization」タブで「Type」を「OAuth 2.0」に設定し、「Get New Access Token」をクリック。
![postman002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/a952a386-2a2b-3236-7e3c-a65b2b214729.png)
下表の値を設定し、「Request Token」をクリック。
![postman003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/5b1358f0-8418-959e-7fff-88740b65e1cc.png)

| 入力項目                | 値                                                                                 |
|----------------------|-----------------------------------------------------------------------------------|
| Token Name            | Service Token（何でもOK）                                                             |
| Grant Type            | Authorization Code                                                                  |
| Callback URL          | https://talk.worksmobile.com                                                        |
| Auth URL              | https://auth.worksmobile.com/ba/{{API_ID}}/service/authorize?domain={{DOMAIN_NAME}} |
| Access Token URL      | https://auth.worksmobile.com/ba/{{API_ID}}/service/token?domain={{DOMAIN_NAME}}     |
| Client ID             | {{SERVICE_CONSUMER_KEY}}                                                            |
| Client Secret         | （なし）                                                                             |
| Scope                 | （なし）                                                                             |
| State                 | neverdocsrf                                                                        |
| Client Authentication | Send as Basic Auth header                                                          |

Access Token 取得対象ユーザーの ID と Password を入力し「Login」ボタンをクリック。
![postman004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/37f0e429-292b-0ce7-7c29-fae5d2cf83c6.png)

はい。取れましたー。「Use Token」をクリック。
![postman0d04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/09a264fe-876f-5792-3f42-51040083c43f.png)
「Update」をクリック。
![postman005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/21a02267-5e83-1169-1917-931eb2419548.png)
これを使って、Service APIs Collection 配下の各 Request は、この Access Token を使用するように設定してます。
基本カレンダーID照会の Request を例に Authorization を確認すると
![postman006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/1bbda1c4-2f18-aa93-1624-899839e5dd12.png)
のようになってます。

#2. 取得した Access Token で各 Service API をコール

１．で取得した Access Token を使って、各 Service API をコールします。

現状は、一部の Calendar API だけしかサンプルがありません。。。どんどん追加していきます。少々お待ちを！
とりあえず、基本カレンダーID照会の Request を実行してみるとこんな感じになります。
![postman007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528703/40b07e72-a230-94c2-db52-9d8ffef15bed.png)

#3. まとめ

Service API 編 終了で〜す。

１番めんどうだった Access Token の取得は、Postman におまかせ。
現状は、Calendar API だけしかサンプルがありません。。。がんばって 全 API をコールしようと思います。

「LINE WORKS API を Postman でコールしてみる」を３回に分けて書いてみました。
最後までお付き合いいただきありがとうございました。

Postman の設定情報を更新した際は Export して GitHub の [line-works-postman](https://github.com/shotamaco/line-works-postman) の push して行こうと思っていますので watch していただければ幸いです。（[twitter](https://twitter.com/shotamaco1)でもつぶやきますので[@shotamaco1](https://twitter.com/shotamaco1)の[フォロー](https://twitter.com/shotamaco1)願います）


#Link
  * [LINE WORKS Developers](https://developers.worksmobile.com/)
  * [LINE WORKS ガイド（全般）](https://guide.worksmobile.com/)
  * [LINE WORKS ガイド（管理者画面）](https://guide.worksmobile.com/admin/)
  * [LINE WORKS コミュニティ](https://community.worksmobile.com/)
  * [LINE WORKS ヘルプセンター](https://help.worksmobile.com/)
  * [LINE WORKS Blog](https://line.worksmobile.com/jp/blog/)
  * [さわってわかったLINE WORKS](https://ascii.jp/elem/000/001/955/1955720/)