Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

カスタム コネクタを作成してみた

API、カスタムコネクタが気になっていた私。
そんな私が初めてカスタムコネクタウィザードからカスタムコネクタを作成してみました。
スクリーンショット 2021-02-19 14.34.49.png

作成した際の忘備録を書いてみます。

やりたい事、やりたい理由

図書館検索と蔵書検索をPower Apps のアプリで行いたい。
です。
今回は手始めに図書館を検索するカスタムコネクタを作成しました。

読みたい本はできるだけ図書館で借りたい、または Kindle読み放題で読みたい。
んです、私。
ですので、読みたい本が見つかると、いつもこんなめんどくさいことをやっています。

  1. 住んでいる自治体の図書館サイトに行き、読みたい本が蔵書にあるか検索する。
  2. 蔵書にあった場合、すぐに貸し出しOK or 順番待ちか確認する。
  3. 図書館サイトで読みたい本を予約する。
  4. 蔵書にない場合、Amazonで検索を行い、Kindle読み放題の本か確認する。
  5. 読みたい本をお気に入りリストに登録する。

めんどくさいです…:frowning2:
これをけっこうな頻度でやっています。
本屋の片隅でやってたりします。(本屋さん買わずにごめんなさい)
極力操作回数を減らしてこれをできないか?と考えました。

日本最大の図書館検索 カーリル

こんなサービスを見つけました!
カーリル

OPACに対応している全国の図書館検索、リアルタイムの貸し出し状況を検索できるサービスです。

コネクタ一覧

こちらですでに「カーリル」のコネクタがあるか確認したところ、ありませんでした。
サポートされているコネクタのリスト

ですのでカスタムコネクタを作ってみます。
ちなみに作成するのは全く初めてです。

カスタムコネクタの概要

1.概要を確認
カスタム コネクタ

2.作成方法を確認
カスタム コネクタを最初から作成する

Postman最新バージョンを使用する場合、v1バージョンでのエクスポートができない

Postmanコレクションをインポートする手順でカスタムコネクタを作成する事ができますが、今日現在(2021.02.22)、カスタムコネクタウィザードサポートがv1のみです。
最初、Postmanは少し触ったことがあるのと、私にでもわかりやすそうという理由でPostmanコレクションから作成したのですが、Postmanをアップデートした所(バージョン8.0.6 (8.0.6))、v1バージョンでのエクスポートができなくなっていました。
スクリーンショット 2021-02-18 11.38.06.png

Importing and exporting data

The export to Collection v1 format is no longer supported in Postman.

そのため、最初から作成する方法に変更しました。

早速やってみます。

カーリルのAPI仕様を確認

カーリル 図書館API仕様書
スクリーンショット 2021-02-18 10.27.50.png

画像はカーリル 図書館API仕様書ページから引用

APIを利用するには、アプリケーションキーの登録が必要なので、最初に登録を行いました。

Postmanで図書館検索を行うRequestを作成

スクリーンショット-2021-02-18-10.44.22.png

GETのリクエストを新規に作成します。
アドレス、パラメータを入力します。
今回はヘッダー情報は特に触りませんでした。

フォーマットはJSON形式で、図書館の取得件数を指定しました。

Sendボタンを押すと、画面下に実行結果が表示されます。
スクリーンショット 2021-02-18 10.54.32.png

住所がバレてしまうのでぼかしていますが:sweat_smile:
jSON形式で各図書館の情報が取得できました。
応答結果は、Save Responseから保存をしておきましょう。
後ほどRequestを開いた時に応答が表示されます。

作成したリクエストは、リクエストをまとめておくコレクション内に保存します。

スクリーンショット 2021-02-18 11.00.10.png

カスタムコネクタを作成する

スクリーンショット 2021-02-19 10.32.06.png

スクリーンショット 2021-02-19 10.32.49.png
コネクタ名を入力します。

スクリーンショット 2021-02-19 10.40.36.png
API仕様でパラメータ名とパラメータの場所を確認して入力します。

スクリーンショット 2021-02-19 10.43.27.png

定義を行う

スクリーンショット 2021-02-19 10.44.07.png
新しいアクションをクリック

スクリーンショット 2021-02-19 10.48.19.png
サンプルからのインポートをクリック

スクリーンショット 2021-02-19 10.48.31.png

今回は情報を取得するのでGETを選択。

URLはPostmanからコピー&ペーストして入力。
スクリーンショット-2021-02-22-10.06.33.png

インポートを行うと、ペーストしたURLから自動でパラメータを拾って設定してくれます。

スクリーンショット 2021-02-22 10.10.46.png

各パラメータの設定で、必須項目かそうでないか、の設定を行いました。
スクリーンショット-2021-02-22-10.11.35.png

応答の設定を行います。
スクリーンショット 2021-02-22 10.13.48.png

規定の応答を追加する をクリックします。
スクリーンショット-2021-02-22-10.16.26.png

本文の部分にPostmanの応答結果のBodyをまるっとそのままコピー&ペーストします。
スクリーンショット-2021-02-22-10.20.18.png

スクリーンショット 2021-02-19 10.55.34.png

インポートボタンを押すと、自動でパラメータ情報が設定されています。
スクリーンショット 2021-02-22 10.24.10.png

必ずテストを行う

コネクタの更新をクリックして保存を行なってから、必ずテストを行いましょう。

スクリーンショット 2021-02-19 10.58.46.png
今回は接続をAPIキーを使って行うので、新しい接続 をクリックしてAPI Keyを入力しました。
スクリーンショット 2021-02-19 10.59.09.png

Power Apps → データ → カスタムコネクタに、接続が追加されました。
スクリーンショット 2021-02-19 10.59.54.png

カスタムコネクタの編集画面に戻ります。

緯度経度の情報を元に、図書館検索ができるかテストを行います。
スクリーンショット 2021-02-22 10.30.54.png

応答結果が返ってきました!
スクリーンショット 2021-02-19 11.12.46.png

最後、設定を変更していればコネクタの更新を行い、閉じる を押してカスタムコネクタの完成です。

ドツボにハマったポイント

パラメータ項目のデータ型が違いますと言われエラーになった点。
API仕様を確認して型はちゃんと合わせましょう。。。

参考情報

英語ですが今回こちらの動画が大変参考になりました!

Power Platform Custom Connectors Zero to Hero
IMAGE ALT TEXT HERE
後半、最初からカスタムコネクタを作成するデモが収録されています。

【LogicFlow-ja Online #3】#2 [Power Automate]カスタムコネクタ入門
IMAGE ALT TEXT HERE
Power Automateの歴史、カスタムコネクタの概要の解説がわかりやすく勉強になりました。
カスタクコネクタの設定画面に表示されている Swagger って何?と思ったのですが、
こちらの動画で解説があります。(09:50〜)

次回

Power Appsでカスタムコネクタを接続するステップを書く予定です!

f-sumiko
Power Platform 市民開発者(Citizen Developer)。市民開発者歴12ヶ月のかーちゃん。リターンシッププログラムのママインターンを経て株式会社ソントレーゾに入社。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away