プログラミング知識0が挑むLINE WORKS API2.0 part1（postman準備編）

# 最初に
タイトルにもある通り、ITリテラシーの低い私がLINE WORKS API2.0にチャレンジする！という記事になります。

まずはAPIを試すための準備から始め、管理者画面で諸々の設定を行って、ユーザーが使用できるようになるまでを数回に分けて書きたいと考えています。

ゆくゆくは技術的なことにも触れられるような記事も書けたら...という壮大な目標はありますが、スタートラインが0よりもむしろマイナスなので、そこはまぁ追々ということで。。。

「Qiita界隈の方に需要があるのか？」という疑問はありますが、私と同じようにこれから「APIってなんだろう？使ってみたらどうなるんだろう？」ということを知りたい方の参考になれば幸いです。

ちなみに私の技術レベルは「J...SON...？」「Mark...down...？」みたいな感じです！
Qiitaの記事すらまともに書けるか微妙ですが日々是勉強ということで頑張ります。

どうぞよろしくお願いします！

## 今回のテーマ
今回はLINE WORKSのAPI2.0を試してみるための準備と、準備が正しくできたか確認のためにTokenを取得してみます。

APIを試してみるには以下の準備が必要なんだな、ということが分かりました。
　1.APIを検証するためのツール
　2.Developer Consoleの設定(LINE WORKS側の設定)

1.についてはpostmanというツールを使用することにしました。

まずツールのインストールから始めます。

### postmanのインストール
では早速[postman](https://www.postman.com/)のWebサイトへGo！
何か色々英語で書かれていますが、私は英語が分かりませんのでブラウザ翻訳に頼るしかありません。
しかも説明書読む前に触っちゃうタイプなので、とりあえずWindowsアイコンをクリックしていました。

![01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/808f5655-c0ad-18d9-a573-2052e9f32bb8.png)

ここも何か色々書いてあるんですが、とりあえずオレンジのボタンをクリックしたい衝動に駆られてクリックしました。

![02.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/4ed2c1a1-f9c1-6581-5d8e-b7a040d52565.png)

するとpostmanのインストーラーのダウンロードが始まり、ダウンロードが完了しました。

![03.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/4bb405be-c006-2b74-6afc-df8b867c661e.png)

ではインストーラーをダブルクリックしてみます。
すると、インストールウィザードのようなものは特に無く、postmanが起動しました！
インストールはめちゃくちゃ簡単なんですね。
![04.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/6dd3c019-923f-0af9-5449-e6942ebb335a.png)

### postmanの設定
当然のごとく、postmanに関する知識もございません！
ですが、[先人たちのQiitaの記事](https://qiita.com/mmclsntr/items/eee8d8f3546410fe6652)を読んだところ、どうやら「Environments」というところに、よく使う情報？をまとめた方が使い勝手が良さそうです。

しかも上記のリンク先には「Environments」にインポートする内容まで記載されているという親切設計。助かります。

* Environments項目の取り込み

ということで上記リンク先の「サンプルファイル」からさらに[リンク先](https://github.com/mmclsntr/lw-api-2_0-postman-demo-sample)へ飛びます。

GitHubというところに遷移しました。（GitHub....よく分かってないです）
英語ばっかりだったので、とりあえずpostmanというフォルダを見つけたのでクリック！（皆さんはちゃんと内容を読みましょう）

![19.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/2eb46092-c783-960c-6e1c-ec74c13a027c.png)


「demo.postman_environment.json」をクリック！
![20.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/31c0b9ef-53fa-eebb-e369-b31ef8d77cf4.png)

とりあえず、ここに書いてあることを全部コピーしまして、メモ帳に貼り付け、「enviroment.json」を作成しました！

![21.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/e5dcd48d-b89e-0071-e4f9-98ec1528af7b.png)

こんなやり方で合ってるのかな...
![22.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/409dd5b3-44ba-5579-935d-d3b23c2f1c33.png)

postmanの上部にimportボタンがありますので、こちらから「enviroment.json」をインポートします。

![04b.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/15691a93-31a2-cafd-864e-fb650d086d7f.png)

するとご覧のとおり「demo@API2.0」が作成され、いくつかの項目が表示されました！
![07.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/c488ed80-82bb-afcc-2db3-5bd931417fd5.png)

同じ方法で「demo.postman_collection.json」も取り込みました！

では、次にLINE WORKS側のDeveloper Consoleの設定です。
また後でpostmanの設定に戻ってきます。

### Developer Consoleの設定
まず、LINE WORKSの[Developerサイト](https://developers.worksmobile.com/jp/?lang=ja)にアクセスし、画面上部の「Developer Console」をクリックしてID・PWを入力してログインします。

![08.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/3222fab9-eab5-9298-0473-9ce284c32b23.png)

* アプリの作成

LINE WORKSの[Developer Document](https://developers.worksmobile.com/jp/reference/client-app?lang=ja)を見ると、API2.0を使用するためには「アプリ」というものを先に作成する必要があるようです。

「アプリの新規追加」をクリックします。
![09.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/d186b4d7-2c3e-1540-0e6d-9cbd3a0204b3.png)

任意のアプリ名を入力して「追加」をクリックします。
![10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/a830c85e-6649-34da-582a-d30e5740c41a.png)

アプリの作成自体はこれだけです。

* アプリの設定

続いてアプリの設定画面が表示され、「Client ID」や「Client Secret」が発行されています。
これはpostmanのEnvironmentsに入力する箇所がありましたね！

アプリで設定する箇所は2つです。

 1.Redirect URL
 2.OAuth Scopes

Redirect URLは[先人たちのQiitaの記事](https://qiita.com/mmclsntr/items/eee8d8f3546410fe6652)に記載されていた通り「https\://oauth.pstmn.io/v1/callback」を入力しました。
※Redirect URLって何？何のために必要なの？と思っていますが、今はスルーさせてください。いつか私自身が理解した時に整理して書こうと思います。

次にアプリで利用するAPIのScopeを設定しようと思います。
![26.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/6c31e11b-61d5-8fa5-0791-c8a7681fb577.png)


まずはメンバーや組織・グループなどを作成しようと思うので、こんなところでしょうか。
![13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/73759e3e-663b-8557-eb63-874df82840eb.png)

こんな感じになりました。
Developer Consoleの設定は一旦完了です。

![27.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/ca66e533-64e8-3cd5-452a-2345af005cc9.png)


### postmanの設定 ふたたび
* Environmentsの設定

Developer Consoleに表示されていた「Client ID」と「Client Secret」を、それぞれの「CURRENT VALUE」に入力しましょう。
入力後は、 **右上の「Save」をクリックする** のをお忘れなく！
![18.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/bdfc12a4-6da9-7c86-f631-ca9d55ba89bf.png)

ここまでで準備は完了しました。
では、正しく準備ができたか確認してみます。

### Access Tokenの取得
まず、postmanの右上に先ほどEnvironmentsで入力した「demo@API2.0」が表示されていることを確認してください。
もし「No Environment」と表示されていたら、クリックして「demo@API2.0」に変更しましょう。

次に「API2.0 demo」と表示されている部分をクリックすると、「Authorization」タブの内容が表示されます。
![15.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/58ec1905-7630-1eed-9de3-55d0d4b77887.png)

基本的に必要な設定値は「demo.postman_collection.json」をインポートした時に一緒に取り込まれていました！
なんという親切設計。久しぶりに人の優しさに触れた気がします。

1点だけ、ScopeについてはDeveloper Consoleで設定したScopeを入力します。
複数のScopeがある場合は「,」で区切って入力しましょう。

では、下部の「Get New Access Token」をクリックします。

ID・PWを入力する画面が表示されました。下部に入力したScopeも表示されていますね。
では、LINE WORKSの管理者のID・PWを入力すると.......
![16.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/7937e13f-599d-9303-a3fe-0cea1b85d69e.png)

Tokenが取得できました！
「Use Token」をクリックして、APIを実行するための準備完了です！！

![17.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740500/6dd0836b-d26c-c4b6-3426-0d7f1ea28aa1.png)

ということで今回はここまで！

# まとめ
* postmanの設定は先人たちの足跡をなぞればOK
* LINE WORKS Developer Documentの[アプリ](https://developers.worksmobile.com/jp/reference/client-app?lang=ja)と[OAuth Scopes](https://developers.worksmobile.com/jp/reference/scopes?lang=ja)を参照しました