- Cat as a service (CATAAS)とは
- 必要なもの
- CATAAS APIを把握する
- カスタムコネクタを作成する
- 4.動作確認してみる
- Power Automate クラウドフローで使ってみる
- Power Appsで使ってみる
- さいごに
Cat as a service (CATAAS)とは
REST APIで猫画像を取得できるサービスです。
必要なもの
- Power Automate / Power Apps のPremium ライセンス
- カスタムコネクタはMicrosoft365付属のPower Automate, Power Appsでは利用できません。Power Automate, Power Apps のPremium ライセンスなどが必要になります。
CATAAS APIを把握する
カスタムコネクタ化する上で必要な情報を調べる
こちらのAPI ドキュメントを確認して使用を調べます。
- 認証
- なし
- httpメソッドはすべてGET
- 今回はこのエンドポイントに対応させます。
- Random Cat
-
https://cataas.com/cat
- ランダム猫画像を取得
-
- Random Cat
カスタムコネクタを作成する
個人的に使い慣れたPower Automateから作成していきます。
Power Automateにアクセスしたら「詳細」→「すべて検出」
「データ」カテゴリの中に「カスタムコネクタ」があります。
名前の横にある📌をクリックして色を反転させておくと左のメニューに表示されアクセスしやすくなります。
「カスタムコネクタ」ページにアクセスしたらページ右上の「カスタムコネクタの新規作成」→「一から作成」をクリックします。
カスタムコネクタの名前を入力して続行します。
※名前には設定できないキーワードがあります。
名前を設定して続行するとこのようなカスタムコネクタウィザードが表示されますので、順番に設定を行っていきます。
1.全般
アイコン・アイコンの背景色・説明などはお好みでいい感じのものを設定します。
2.セキュリティ
今回のCATAAS APIは認証がありませんので設定不要です。
3.定義-「RandomCat」アクション
「新しいアクション」をクリックして進めます。
3-1.定義-「全般」の設定
Power Automate等でコネクタを使用する際に表示される動作を定義します。
- 概要
- Random Cat
- 説明
- ランダムに猫画像
- 操作ID
- GetRandomCat
- ※内部的な識別に使われるIDです。先頭は大文字で
- 表示
- important
- この設定はアクションのパラメータ設定の際の表示形式になります
- important:既定で表示されます
- advanced:既定では表示されず「詳細オプション」扱いになります
- internal:ユーザーには表示されません
3-2.「要求」の設定
「サンプルをインポート」をクリックして設定を進めます。
このようなインポートダイアログが表示されます。
ここを設定するためには、CATAAS API のリファレンスページを参照して進めていきます。
エンドポイントURLを参考に利用したいパラメータを"format={format}"の形式で追記してきます。今回はこのような形式で作りました。
https://cataas.com/cat?type={type}&filter={filter}&fit={fit}&position={position}&width={width}&height={height}&blur={blur}&r={r}&g={g}&b={b}&brightness={brightness}&saturation={saturation}&hue={hue}&lightness={lightness}&html={html}&json={json}
※htmlパラメータを設定していますが、このパラメータをtrueにした場合カスタムコネクタではエラーとなりました。
このリファレンスページの説明を参考に、下記のように設定します。
- 動詞
- GET
- URL
-
https://cataas.com/cat?type={type}&filter={filter}&fit={fit}&position={position}&width={width}&height={height}&blur={blur}&r={r}&g={g}&b={b}&brightness={brightness}&saturation={saturation}&hue={hue}&lightness={lightness}&html={html}&json={json}
-
- ヘッダー
- Accept {Accept}
このように設定して「インポート」をクリックします。
要求の表示がこのように変わります。
クエリのパラメータを1つ1つ編集して設定を行います。
※クエリパラメータはすべて省略可能なので全削除してもとりあえず動きます。
[type]
画像サイズを指定するパラメータです。
- 説明
- 画像サイズ(xsmall、small、medium、square)
- 必須
- いいえ
- 表示
- advanced
- 種類
- string
- ドロップダウンの種類
- 静的
- 値
- "xsmall", "small", "medium", "square"
設定したら上部の「←戻る」をクリックし元のページに戻ります。
同様に他のパラメータも設定していきます。(スクリーンショットのみで説明は省略します)
[filter]
[fit]
[position]
[width]
[height]
[blur]
[r]
[g]
[b]
[brightness]
[saturation]
[hue]
[lightness]
[html]
[json]
続いて同様にヘッダーパラメータを設定します。
[Accept]
ここまでで要求の設定はひとまず完了です。
ここが緑色のチェックに変わっていればひとまず問題ありません。
3-3.「要求」の動作確認
この状態でいったんコネクタを作成し、動作を確認してみます。
画面右上の「コネクタの作成」をクリックします。
作成に成功したら「6.テスト」をクリックします。
テストするためにはコネクタの接続が必要です。「新しい接続」をクリックします。
作成が完了するとこのように接続が選択された状態になります。
「テスト操作」をクリックしてみます。
正常に応答が返ってきた場合は「状態(200)」となります。富士山の情報が応答として返っていることが確認できます。
3-4.定義-「応答」の設定
今回は省略します。
最後に「コネクタを更新」します。これで作成完了です。
4.動作確認してみる
最後にPower Automateでインスタントクラウドフローを作成し動作を確認します。
作成したカスタムコネクタのアクションを追加します。
フローデザイナーでコネクタはこのように表示されます。
アクションはこのように表示されます。
フローにアクションを追加してみます。検索クエリに「桃太郎神社」と入れてみます。
フローをテスト実行してみると出力のbodyに画像が含まれていることが確認できます。
Power Automate クラウドフローで使ってみる
チャットで「猫」と投稿されたら、猫画像を投稿するフローを作ってみました。
Random cat アクションはパラメータ設定なしです。
[Microsoft Teams]チャットまたはチャネルでメッセージを投稿する アクションは下図のように設定しました。
Qiitaのこちらの記事を参考に設定しています。
実際の動作はこんな感じになりました。
Power Appsで使ってみる
ボタンを押すと猫画像が表示されるだけのアプリです。
ボタンのOnSelectで下図のPower Automateクラウドフローを呼び出し、取得した画像をIamgeコントロールに表示しているだけです。
さいごに
この記事はカスタムコネクタの使い方という観点では「Claude API のカスタムコネクタを作成してみた💎 - ささみ学習帳」「Open Street Map の Nominatim APIのカスタムコネクタを作成してみた💎 - ささみ学習帳 (hatenablog.com)」とほぼ説明は同じです。
猫好きとしては作らずにいられなかったので作りました。これでいつでも猫画像を召喚できます🐈