Postman&Wrike公式配布コレクションをつかい永続トークンを使用して、WrikeのAPIを叩いてみる。

#この記事の概要
Wrikeの中の人が配布したPostmanのコレクションをつかってWrikeのAPIを試してみる。
この公式コレクションは2020年の10月配布なのでそれ以降に追加されたAPIは含まれていません。

#参照
WrikeのAPI Refferenceはこちら

https://developers.wrike.com/

WrikeのWebinar（元記事 英語）はこちら

https://help.wrike.com/hc/en-us/community/posts/360051771073-Ask-Me-Anything-with-Wrike-Integrate-Part-2-Intro-to-Postman-and-Webhooks%E5%89%8D%E6%8F%90%E6%9D%A1%E4%BB%B6

#前提条件
Postman用のCollectionファイル、Environmentファイルをダウンロードしておく。

https://cdn.wrike.com/CSO/Official_Wrike_Collection.zip
https://cdn.wrike.com/CSO/Wrike_Postman_environment.zip

#手順
Wrike側は今回永続トークンを使うので下記の通り

①Postmanをインストール
②PostmanへCollection、Environmentをインポート
③Wrike側でAPI使用の許可＆永続トークンを発行する
④Postmanの環境設定に永続トークンを設定し、設定する。
⑤WrikeのAPIを叩いてみる。
Appendix コレクションの汎用化

となります。
#①Postmanをインストール
Postmanのインストールは本家Webサイトからか、Macの場合はHomebrewからのインストール。

```
% brew install postman
```
その後はPostmanのアカウント作ってください
#②PostmanへCollection、Environmentをインポート
ダウンロードしたZipファイルを回答するとjsonファイルになります。こちらをPostmanへインポートします。

```
Official Wrike Collection v 1.0.postman_collection.json
Wrike.postman_environment.json
```
1. My Workspaceの右側にあるImportをクリックします
![picture_pc_e8270b24cbd171af740cb1bad4b8ef30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/add0ea36-6a7b-342b-fd17-234c75cf931e.png)
1. ダウンロードした2ファイルをドラッグアンドドロップします。 
![picture_pc_665ce501a9f67cd397c2168f967c9c6f.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/838ca4b8-2c78-9741-a8e5-d78136f9dfe2.png)
1. Importをクリックします。
![picture_pc_63d57c00fa88639c7b4b904565a68889.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/e4cb2f0c-9c46-37d6-c456-cdd0b399e146.png)
1. 左のWorkspaceにコレクションが、右上の方にEnvironmentがインポートされます。
コレクションは公開されているAPIをメソッド化したようなもの、Environmentは環境変数をまとめたものになります。
![picture_pc_c0cb3ec94a5f1ed0a0b23abd4c6d3356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/7146a76f-a4fd-adb9-c623-141b715610aa.png)

#③Wrike側でAPI使用の許可＆永続トークンを発行する
1. Wrikeの右上にある自分のアイコンをクリックし、『アプリ＆統合』をクリック
![picture_pc_d025d657bb434680f59d4cc849d5131c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/4e0386bf-16d9-de7c-139a-a8d5c5ebcf6d.png)
1. 左ペインにあるAPIをクリックし、アプリ名に任意の名前を入力し『新規作成』をクリック 
![picture_pc_d7abda59e3ba3a3979227f970a2b7982.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/9a6d32ac-9744-a146-3cea-01aad8d3486b.png)
1. 画面下部の方へスクロールし、トークンを作成をクリック
![picture_pc_fc995d82ce65ae25808d4dc1fd5ad00a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/c23d5fdf-fa69-845b-0e91-9a5895954c93.png)
1. Wrikeのパスワードを入力し、トークンの取得をクリック
![picture_pc_890c0236bb572eee6ad931575b0da1be.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/ad01cd64-af17-9ba3-84b5-588b923b8119.png)
1. コピートークンをクリック（このトークンは一度しか表示されないのでご注意ください）。Wrike側から削除しない限り永続的に使用できます。
![picture_pc_53ec33ff032829d89bfa6e87ea8d4d9e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/126ffa72-73ae-ba7b-6bc6-5771ff37d7e3.png)

#④Postmanの環境設定に永続トークンを設定し、設定する。
③で取得した永続トークンをPostmanのEnvironmentへ設定し、コレクションから使用できるようにします。

1. 右上の環境設定ドロップダウンリストからWrikeを選択し、設定アイコン（目玉）をクリックしEditをクリックします。
![picture_pc_f68351044697854abe74b1648f14dd0b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/c430269a-a56b-8d15-f753-654b81074b28.png)
1. WRIKE_TOKEN項目のINITIAL VALUEとCURRENT VALUEに永続トークンを入力し（前後のスペースに注意）、VARIABLEのWRIKE_API_URLの名前をWrikeAPI(Collection側の変数名と違うため)へ変更し、Saveをクリックします。
![picture_pc_e1b8aba8184e36bb41442b81adcad811.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/cddab0c5-07c6-8b09-f2ee-e3b416318e00.png)
1. コレクション側の設定を確認します。
コレクション『Official Wrike Collection v 1.0』をクリックし、Authorizationをクリックします。
![picture_pc_3de30c9df81f3541a11ef24a5d3c7552.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/5949973c-3bc4-9eb7-aea7-195df8e1f6a1.png)

```
TypeがBearer Token
EnvironmentがWrike
Tokenが{{WRIKE_TOKEN}} 　←　オレンジ色
```
になっていればOKです。

#⑤WrikeのAPIを叩いてみる。
あとはCollection内のMethodを叩いて見るだけです。GETメソッドであればデータを持ってくるだけなので安全です。

Contacts以下にある、Get Information about meをクリックしてSendをクリック。
![picture_pc_f0fa40ba2436082739aa96507a4fe0dc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/df32aeb1-0042-29d3-3453-0cb5a1e4cfb5.png)
下段にあるコンソール部分にOutputがJson形式で表示されれば設定はOKです。

#Appendix：コレクションの汎用化
配布されているコレクションなどはIDをクエリのパラメーターとして使用しているものが多いです。
![picture_pc_a407d0ff1474c3afe5f603db453e150d.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/222dce4f-5977-33b3-fa12-da53b896e305.png)
とりあえずTask一覧が出したいというクエリを発行するには既存のコレクションを右クリックしDuplicateし、新たにGet Taskのようなものを作成、クエリの項目を下記のように変更（ID部分を削除、Fieldはチェック外す）しSendすればOKです。

```
{{WrikeAPI}}/tasks/
```

こんなかんじです。
![picture_pc_b1ea558a26b04dfeb1d521885e261260.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/2a870126-c96a-f70d-cbe5-b3211b1af195.png)
あとはSendすればOKです。

Fieldパラメーターはこちらはレスポンスの項目でOptionalになっている項目をクエリしたいときに必要です。

#### TasksのResponse例
![picture_pc_46968df257cb57ced6f3803583926453.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/81411c68-7a80-2521-1067-75bed55f6441.png)
詳しくはAPI Referrenceを見てください。

https://developers.wrike.com/api/v4/tasks/

より高度にAPIを使うにはプログラム実行環境やクエリしたデータのパース、キャスト（型変換）が必要になってきますが、どういったデータをWrikeから取得できるのか？というテストはPostmanを使うと非常に簡単に行えます。

WrikeではWrike Integrateというアドオンを契約することにより、サーバ構築、ジョブ設定といった実行環境を必要としない他SAASとの連携が可能となっております。

下記もご参照ください

https://qiita.com/katoiek/items/b674912a5f86fdaa92c4