コラボフロー REST APIって叩いてみた？

コラボフロー [Advent Calendar 2022](https://qiita.com/advent-calendar/2022/collaboflow) 4日目の記事です！
コラボフローってなんぞや？って方は[こちらのページ](https://www.collabo-style.co.jp/about/)をご参照ください！

* * *
急に寒くなってきましたね・・・
暖房の効いた部屋で、暖かい鍋など食べながら、キンキンに冷えたペプシをキメたいなぁ
もしそれが、すき焼きだったら、もうこれはこれは・・・はい、ノンビンです!

さてさて、それでは記事書きますよー！

もう恋人との馴れ初めとかじゃないんだから、前置きなしで内容伝えるよ

今回のお題は

### コラボフロー REST API

ジャイ！！！

みなさんコラボフロー REST APIってご存知です？
・・・ですよね？知ってると思ってました！！（あーよかった）

ご存知の方なら当たり前のように使うことができると思うのですが、

これから触り始めたい
エンジニアとして駆け出し

と言った方には、ちょっとハードルが高いですよね！

APIってどうやって叩くの？
ぽぽ・・・Postman？？[cURL（カールと読みます）](https://ja.wikipedia.org/wiki/CURL)？？

わからな・・・・・・いいいいいいいい！！！
って方もいらっしゃるとは思うので、今回は簡単にコラボフローAPIを実行する方法を紹介します♪

## リファレンスサイト
まずは[こちら](http://docs.collaboflow.com/api-docs/)にアクセスしてみてください

![スクリーンショット 2022-12-05 21.40.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/b952b5e5-0d10-3a1d-bf10-c1e687999536.png)

こんな画面が出てきてるのでは無いでしょうか？
そうです・・・こちらが

### コラボフロー REST APIのリファレンスサイト！！！

デス！！
そう、このサイトさえあれば勝ったようなものだ

まずは、下記画像の赤枠の部分を熟読すべし！！
ここに認証に関わる大切なことが記載されている！
![スクリーンショット 2022-12-05 21.45.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/de45ef49-11a8-14a5-641d-99b835468fce.png)

次にServersのドロップダウンから、一番下の項目を選択する！
（クラウド環境用の認証セットになります）
![スクリーンショット 2022-12-05 22.19.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/785cd1fa-2bbb-757e-51a7-bbe9315fa554.png)

ドロップダウンを選択したら、次にinstanceを設定する。
![スクリーンショット 2022-12-05 22.22.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/1a30c22b-e715-f676-3b94-1030fb3b65be.png)

上記画像に記載されている「xxxxxxxx」については、自分のコラボフロー環境のURLから確認できます。
https://cloud.collaboflow.com/ の後ろに記載されている英数字が対象となります。
![スクリーンショット 2022-12-05 22.21.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/8c1bb7da-b1ee-5b0c-2d5c-f716757fb096.png)

# 認証設定

ここまできたらあと一歩！！
最後の難関Authorize・・・なんて高い壁なんだ・・・
まずは下の画像の赤枠にある、ちょっとおしゃれな色をしたボタンをクリックだ！！
![スクリーンショット 2022-12-05 22.26.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/290c28df-ec74-3a16-721c-9e79fe098d61.png)

なんかセンチメンタルな背景をしたポップアップが表示されたぞ・・・
![スクリーンショット 2022-12-05 22.28.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/43a5a311-a6ef-bfe9-922f-9cbc30d9ba94.png)

そう、ここのValueに入れる値こそ、最大最強の難関・・・[**秦の国門・函谷関**](https://wakaentertainment.com/kingdom-gasshogun-haichi/)レベルで突破が難しい。
たくさんの準備が必要だ・・・攻城戦は勢いだけじゃ突破できん！戦略も戦術も必要だ！！

まずは一個メモってくれ、さっきも熟読させた認証部分にヒントがあった
そう、この赤枠の部分だ
![スクリーンショット 2022-12-05 22.31.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/dea5a62a-c5ae-db51-de6f-5cf7c991cc2e.png)

ごちゃごちゃ言うと面倒だと思うからこれをメモしてくれ

### Basic LLLLL/apikey:AAAAAA

この文字列を使った手順はこのあと４つある
この文字列大切に取っておくんだ！大事なことだから２回言うぞ？
### この文字列大切に取っておくんだ！

## まずは「LLLLL」の部分を埋めよう
この「LLLLL」の部分とは何者か？というと・・・そうログインIDなのだ
![スクリーンショット 2022-12-05 22.39.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/37355df3-cbca-0071-bf92-d93d65f7da22.png)

コラボフローにログインするためのIDをここにセットする必要がある！
なぜか？それは、情報の取得するにも、承認や差し戻しするにも、「**誰**」がと言うのが必要になるからさ！
稟議書で、「誰かわからないけど、勝手に承認されてた！！わーーーーい♪♪」なんて人はいないはずだ・・・（いたら小一時間ほどお話ししよう）
そう、コラボフローはAPIで誰がどんな操作をしたか？と言うこともしっかり管理しているんだ！！安心だね！

みなさんは試す時に「LLLLL」にまずログインIDを設定してみてほしい
僕は今回わかりやすいように、「nonbin」と設定させてもらう！これが函谷関を突破する将軍の名前だ！

### Basic LLLLL/apikey:AAAAAA
 ↓
### Basic nonbin/apikey:AAAAAA

まずはこのような形になる！

## 次に「AAAAAA」の部分を埋めよう
この「AAAAAA」とは何かというと、そうシステムが発行してくれた万能鍵、その名も

### APIキィィィィー！！！！
（叫んでみたけどなんか思ったほど気持ち良くなかった)

この万能鍵はどこでゲットできるかというと、コラボフローにシステム管理者権限のユーザーでログインしたあとに
右上の歯車をクリックする！！
![スクリーンショット 2022-12-05 22.49.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/2d4fc760-5ff3-2a61-5f06-e482e5a7ff2c.png)

出てきたではないか・・・システム管理エリアの扉！
見つけたらそこをクリックだ！！

下記のようなシステム管理エリアの画面が出てきたら、上に複数あるタブから、「環境設定」をクリックする！

![スクリーンショット 2022-12-05 22.50.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/55e31e6c-dec7-2f12-ae22-646c4cef1181.png)

色々な設定があるが、今回は一番下にある、「REST API」と言う設定を確認だ！！
![スクリーンショット 2022-12-05 22.52.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/fcdf90a5-5ce8-5090-91be-16d70c1dc2ec.png)

ここを見つけたら、クライアント名に「API練習用」と入力して「APIキーを発行する」ボタンをクリックする！
![スクリーンショット 2022-12-05 22.55.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/f6c8cf30-7b09-4a6f-01b4-70362a692219.png)
（ここに表示されているAPIキーは既に削除済みなのでご安心ください）

こんな感じで使いされたことを確認したら、この「APIキー」の文字列をメモしておく！！
これも大事だから２度いうぞ！**「APIキー」の文字列をメモしておく！！**
![スクリーンショット 2022-12-05 22.57.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/f7b56c8f-3390-bfec-f6dd-c34d9c2dd354.png)

そしたら、メモしたAPIキーを「AAAAAA」の部分に上書きする！！

### Basic nonbin/apikey:AAAAAA
 ↓
### Basic nonbin/apikey:FQGQZWxV35TQyrVeUqEruw6brJkWdXQy

### うぉぉ!なんかそれっぽくなってきた！！

さてさてここまできたら、あとはラストスパートだ
魔法の言葉を伝えるぞ？準備はいいか？


### base64エンコード

さてさて、魔法の言葉覚えてくれたかな？
詳しくは[ここらへん](https://qiita.com/PlanetMeron/items/2905e2d0aa7fe46a36d4)見るといいかも！

簡単に説明すると、API投げるためにbase64でエンコードする必要がある！！！

## base64エンコード
これはいくつか方法がある！！
+ webサイトでエンコードする
+ プログラムを組む
+ コンソール(macの場合)でコマンドを実行する

今回は「コンソール(macの場合)でコマンドを実行する」を試してみます！！
まずはコマンド文字列はこちら
```
echo -n 'beforeString' | base64
```
beforeStringの部分を今回変更したい文字列にします！！
今回はこんな感じ！！
Basic **nonbin/apikey:FQGQZWxV35TQyrVeUqEruw6brJkWdXQy**
「Basic 」の後にあるログインIDから後ろの文字列が対象となる
```
echo -n 'nonbin/apikey:FQGQZWxV35TQyrVeUqEruw6brJkWdXQy' | base64

```

実際にコマンドを実行するとこんな感じになる
赤枠の部分がエンコーディングされた文字列となるので、これで長かった準備が全て終わる！！
この文字列をメモするんだ！！！もう２度言わないぞ！！

![スクリーンショット 2022-12-05 23.14.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/cd44cc16-4462-7ded-f190-a0c55dd1c34a.png)



### Basic nonbin/apikey:FQGQZWxV35TQyrVeUqEruw6brJkWdXQy
 ↓
### Basic bm9uYmluL2FwaWtleTpGUUdRWld4VjM1VFF5clZlVXFFcnV3NmJySmtXZFhReQ==

接続文字列できたーーーーーーー！！！よっしゃーーーー！！！
それではさっきの、センチメンタルな背景をしたポップアップを開いてValueの部分にこの文字列をぶち込むんだ！！！

![スクリーンショット 2022-12-05 23.19.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/6c75cff8-a2fd-dcfc-0f81-2e38c5ba868e.png)

もうこのあとは、使いたいAPIを選択して、実行するだけの簡単なお仕事だ

例えば、「Document (申請書に関する操作)」の検索APIを利用したいのであれば、
下記画像の赤枠をクリックして
![スクリーンショット 2022-12-05 23.20.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/d230c86a-6ef1-f488-89d0-2266b988c18e.png)

次に「Try it out」をクリックする
![スクリーンショット 2022-12-05 23.21.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/b1943493-c206-61eb-450e-49956893d646.png)

APIに必要なパラメータを入力したら、最後に「Execute」をクリックしたら、攻城戦終了だ。
完全に君の勝ちは揺るがないだろう。
![スクリーンショット 2022-12-05 23.21.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150335/4258d607-d8ce-8fe7-f8ae-8dd69f88a696.png)

ただ、まだまだコラボフローには色々なカスタマイズの可能性が満ち溢れている！！
ぜひ、[他の記事(コラボフロー Advent Calendar 2022)](https://qiita.com/advent-calendar/2022/collaboflow)も参照して、新たなる戦へいざ進んでほしい！

さてさて、これで終わりにするが、ノンビンから一個だけ伝えさせてくれ


### ノリで始めた口調が途中から辛すぎる！！！もう次はやらん！！


はい、ではノンビンでしたーーーまた会いましょう！