Postmanを使い、OAth2.0の認可、認証を行いWrikeのAPIを叩いてみる

#はじめに
WrikeはRestful APIを公開しているので自己責任で使用可能です。
OATH2の認証がターミナルだと下記の手順で面倒なのでとりあえずPostmanでTokenを取得してAPIを叩けるようにする方法です。

#Wrike API公式ドキュメント（英語のみ）
https://developers.wrike.com/

#OAuth 2.0に関してのドキュメント（英語のみ）
https://developers.wrike.com/oauth-20-authorization/

#ターミナルで叩いてみる場合
1. Wrike側でAPI使用の許可→Client ID、Crient Secretの取得
1. Client IDを使ってauthorization Code取得
1. Client ID, Secret, Auth codeつかってToken取得
1. Tokenつかってデータを取得
となります。
詳しくは↑のOAuth 2.0の公式ドキュメント参照

#Postmanで行う場合は
1. Wrike側でAPI使用の許可→Client ID、Crient Secretの取得
1. Postmanをインストール
1. Postmanで新たにOAuth2設定し、Tokenを取得する
1. WrikeのAPIを叩いてみる。
となります。

早速やってみましょー。

#①Wrike側でAPI使用の許可→Client ID、Crient Secretの取得
アプリ登録と言ったりもします。

1. Wrikeの右上にある自分のアイコンをクリックし、『アプリ＆統合』をクリック
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/45b2ce9e-4474-2c3a-2ca1-5d29c6a4c7da.png)
1. 左ペインにあるAPIをクリックし、アプリ名に任意の名前を入力し『新規作成』をクリック
![picture_pc_e76232163b8eb19e4fa675a2c6778690.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/0d6a7ce2-16ff-9a29-e8b2-16cc73afc04b.png)
1. こちらで発行されるClient ID、Client 情報（Client secretです）を書き留める。リダイレクトはローカル開発なのでデフォルトで保存をクリック。永久アクセストークンはここではテストのため不使用です。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/b606224b-7b99-95bb-07de-d4fe9f9d017b.png)

#②Postmanをインストール
1. Postmanのインストールは本家Webサイトからか、Macの場合はHomebrewからのインストール。

https://www.postman.com/downloads/

```
% brew install postman
```

その後はPostmanのアカウント作ってください

#③Postmanで新たにOAuth2設定し、Tokenを取得する
1.Postmanを開いて+ボタンをクリックして新規作成
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/e1ad70d0-d4cd-e95f-0b7c-89a1ccb8efff.png)
2.認証設定を行う
Authorizationタブをクリック
TYPE：OAuth 2.0 ＆ Add authorization data to：Request URLを選択
各種パラメーターを下記のように設定し、下部にある『Get new Access Token』をクリック

|キー|値
|:-----------|:------------|
| Token Name | 適当 |
| Callback URL | http://localhost|
|A uth URL        |https://login.wrike.com/oauth2/authorize/v4
| Access Token URL |https://login.wrike.com/oauth2/token
| Client ID | さきほどメモっといたやつ
| Client Secret | 同様
Scopeは使いたいAPIに対応するScope（今回はユーザー情報をとるためのemailを設定）
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/51d933d1-8ae7-9506-6c11-900c8a3595fe.png)
3.Wrikeの認証へ飛ぶのでID、Passを入力したあと出てきた画面でAcceptをクリック
    ID
    ![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/b3f5f1ca-7a08-9881-1798-beb89d69b407.png)
    Pass
    ![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/f02211bb-92b0-1b1f-5ad1-515059cfdef7.png)
    Accept
    ![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/bd386208-ff49-455e-2ad9-6d2c3451f14c.png)

4.Postmanへ画面がもどるのでProceedをクリック  
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/3b6085a9-06c7-614f-ffc8-88117fa77608.png)

5.Use tokenをクリック
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/28184979-3ddd-6d92-ca61-77c4f3807050.png)

6.データ取得してみる

```
Get：https://www.wrike.com/api/v4/contacts?me=true
```
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2671/e7ebfafc-900b-82ac-ad08-aed7cc7cf6ee.png)

ここまで行けばGetでTaskなり、フォルダなり、カスタムフィールドなりGetしてみてください。Put、Deleteつかって操作も可能です。

```
Get https://www.wrike.com/api/v4/tasks
Get https://www.wrike.com/api/v4/folders
Get https://www.wrike.com/api/v4/customfields
```

Postmanですが、右上のSaveをクリックすると作成したプロジェクト？がセーブできますし、アカウント作っていればクラウド上に保存されます。次回からはGet New Access Token叩いてWrikeの認証さえすればすぐ使えるようになります。