Postman の環境変数を設定する

凄い今更ながら、Postman で環境変数を設定すれば API を試すのが非常に楽チンだということに気づきました。
何故、今まで気づかなかったのか。。。

気づかせてくれた先輩様、本当にありがとうございます。m(_ _)m

これで、新しい API をテストする度に APIID とかをコピペしなくてよくなるよ！ヾ(*´∀｀*)ﾉ

# Postman で環境変数を設定する

Postman の環境 (Environment) および環境変数機能を使用して、必要な値を登録していきます。

今回は LINEWORKS の[メッセージ送信 API](https://developers.worksmobile.com/jp/document/1005008?lang=ja) を使いますので、登録する値は以下の通りです。
- API ID
- Server API Consumer Key
- Token
- botNo

画面の右上にある設定ボタンをクリックします。
![1578972948.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/0fdfd772-62bf-8d3e-2e84-3c70b91eff48.png)

設定画面が表示されるので `Add` をクリックします。
<img width="500" alt="1578972996.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/37b9c155-fc0f-c822-ecf3-7f2e0ae1e539.png">

登録画面が表示されました！
<img width="500" alt="1578973281.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/56b373dd-17d1-84b9-312f-c941ae6c8c6c.png">

さぁ、値を登録していきますよー！
`Environment Name` にこの環境の名前を入力します。
テスト環境なので今回は `@test` にしますが、自分でわかりやすい名前をつけてくださいね～。
`VARIABLE` に名前を、`CURRENT VALUE` に値を入力して `Add` をクリックすれば登録完了！(ﾟДﾟ)ﾉ

<img width="500" alt="1578973978.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/ae323c7f-8e3e-82be-1339-27068745668b.png">

なお、`INITIAL VALUE` と `CURRENT VALUE` の違いですが、Postman のサーバに情報が送られるか否かになります。
チームでテストしていたり、複数台の PC でテストするときは `INITIAL VALUE` を使うと便利なのかもしれません。
ですが、検証用 PC は 1台しかないですし、私はボッチですしおすし。(・ω・)
セキュリティを高めるためにもっ！`CURRENT VALUE` を使っています！！！
セキュリティを高めるためだからねっ！（大事なことは二度言うスタイル）

<img width="500" alt="1579138378.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/d7011f29-278d-2870-1292-0b7c822e18bd.png">

これで登録が完了しましたので、変数として使用することができます！
やったね！

## 登録した環境変数を使う

登録した環境変数を使うには、右上のプルダウンリストから作成した環境 (Environment) を選びます。
![1579138476.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/eef493c5-8110-50cd-fb49-19a33e105551.png)

選んだらすぐに使えます♪
`Request URL` や `Authorization`、`Header` に、`{{ }}` でくくって環境変数を指定します。
![1579140028.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/d7ab117d-7326-0f49-23e6-aab63cb70aba.png)

![1579139270.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/b87fcbe9-8c4d-880b-1d7d-32c3f6fee92f.png)

これで設定完了です。
`Body` 部分は、まぁ、適当にｗ

![1579139556.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/dda25e42-e358-db69-4f80-4f3237cc73fb.png)

最後に `Send` ボタンをクリックして、API を Request します。

![1579139701.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/7bcba2d1-d000-d947-e149-6bb76b7c8382.png)

だーいせーいこー！ヾ(*´∀｀*)ﾉ
`200 OK` を貰えるとホッとしますね～(＝ω＝)

これだけでも大分楽チンになりましたが、なんと、まだまだ楽する手段があるのですよ！( ･`д･´)ｷﾘｯ

## Collections 内の Request すべてに Authorization を適用させる

Postman には作成した Request を管理できる `Collections` という機能があります。
画面左側でフォルダツリーで管理できるやつですね。
実はこいつ、下位層の Request すべてに共通の設定を適用させることができたのです！
もっと早く知っていれば…！と思いましたが、今からでも遅くない！(ﾟДﾟ)ﾉ

さっそく設定していきましょう！(*‘∀‘)

まずは、画面左上の `Collections` から `New Collection` します。
![1579140654.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/eb9bd551-8b77-a4ec-1582-698fbe2b261a.png)

余談ですが、私はこの `NEW!` って響きが好きです。
JAVA やってたとき、`NEW` するときはいつも心の中で叫んでいました。
はい。中身が残念な人ですね。次に進みましょう。

![1579141603.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/beeb0fe2-34ec-a017-30fa-910ceec9ffa7.png)

`CREATE A NEW COLLECTION` の画面が表示されます。
`Name` は LINEWORKS の API Request を入れるので `LINEWORKS` とします。
`Authorization` を選んだら `TYPE` を `Bearer Token` に設定して `{{TOKEN}}` と入力します。

![1579141603.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/0e7b8be6-ba01-2471-4b4a-127988c70ca3.png)

右下の `Create` ボタンを押せば `COLLECTION` が作成されます！
作った `COLLECTION` の中に、新しい `API Request` を追加してみましょう。

右上の三点リーダ `・・・` をクリックして `Add Request` を選択します。
![1579142678.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/c479751b-deac-efce-b8b9-26278ecfed35.png)

`Request name` にはお好きな名前を入れてください。
私は API の名前で管理していますです。
![1579142608.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/d303ef15-48a1-4026-39b6-7fe48f1f1640.png)

`Sava to LINEWORKS` ボタンをクリックすれば作成完了です。

作成した `Request` の `Authorization` タブを見てみると・・・

![1579143539.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363367/e065b87d-dfde-60df-372c-4e3edd590e2b.png)

`This request is using an authorization helper from collection 
LINEWORKS` と書かれていますね。
「LINEWORKS Collection の Authorization を使ってるよ！」っておっしゃっています。
Google 翻訳さんに頼らなくても、このくらいの英語なら読めるようになりました！
人類にとって大したことはなくても、私にとっては大きな一歩デスヾ(*´∀｀*)ﾉ

これで、新しい API を試すときなど、Authorization の設定を自動で行うことができますねー。やったね！(*'▽')

# LINEWORKS API を使う方々へ

なんと、shotamaco さんが Postman を使用して、LINEWORKS の Server API と Service API をコールする環境を提供してくださるそうです！ヾ(*´∀｀*)ﾉ
[Postman で LINE WORKS API をコールしてみる（準備編）](https://qiita.com/shotamaco/items/a6e93bbc0ece64614233)

全部ではありませんが Collection も提供されているので、ポチポチひとつずつ Request を作成しなくても実行できちゃうなんて・・・楽チン( ﾟДﾟ)ありがたや。

Qiita のとか、他の API でも提供されてないかな。
ちょっと、探してみよう。

#おわりに
ここまでお付き合いいただきありがとうございました。

年明けてから一つ目の記事です。
旧正月も明けてるのに何を言っているのかという感じですが、どうぞ今年もよろしくお願いいたしますm(_　_)m

API ごとに Authorization の設定管理ができるので、かなり便利ですよねー。
新しい API に手を出してみようと思える嬉しい機能に気づけました。

今年も自分のバージョンアップ、頑張ります！(*‘∀‘)

ではまた！(^^)/

#参考にさせていただきましたm(_ _)m
[LINEWORKS Developers](https://developers.worksmobile.com/jp/document?lang=ja)
[Postman で LINE WORKS API をコールしてみる（準備編）](https://qiita.com/shotamaco/items/a6e93bbc0ece64614233)