ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Cat as a service (CATAAS) のカスタムコネクタを作成してみた💎

 

Cat as a service (CATAAS)とは

REST APIで猫画像を取得できるサービスです。

cataas.com

 

gigazine.net

 

必要なもの

  • Power Automate / Power Apps のPremium ライセンス
    • カスタムコネクタはMicrosoft365付属のPower Automate, Power Appsでは利用できません。Power Automate, Power Apps のPremium ライセンスなどが必要になります。

 

CATAAS APIを把握する

カスタムコネクタ化する上で必要な情報を調べる

こちらのAPI ドキュメントを確認して使用を調べます。

cataas.com

 

  • 認証
    • なし
  • httpメソッドはすべてGET
  • 今回はこのエンドポイントに対応させます。
    • Random Cat
      • https://cataas.com/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のこちらの記事を参考に設定しています。

qiita.com

 

実際の動作はこんな感じになりました。

 

Power Appsで使ってみる

ボタンを押すと猫画像が表示されるだけのアプリです。

ボタンのOnSelectで下図のPower Automateクラウドフローを呼び出し、取得した画像をIamgeコントロールに表示しているだけです。

 

 

さいごに

この記事はカスタムコネクタの使い方という観点では「Claude API のカスタムコネクタを作成してみた💎 - ささみ学習帳」「Open Street Map の Nominatim APIのカスタムコネクタを作成してみた💎 - ささみ学習帳 (hatenablog.com)」とほぼ説明は同じです。

猫好きとしては作らずにいられなかったので作りました。これでいつでも猫画像を召喚できます🐈