shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Automate】「Webサービスを呼び出します」の設定事例(kintoneの複数レコード取得)

Power Automate Desktopには「Webサービスを呼び出します」アクションがあります。

このアクションを使うと「APIがあるWebサービス」からデータの取得や登録などが可能です。

Webサービスのkintoneで複数レコード取得の設定事例です。

内容:

確認のツールは「Power Automate Desktop」(version 2.45.393.24179)です

事例の前提

この事例のkintoneの状況は、次のPowerQueryで読み込む事例と同じです。

もしAPIトークンやHTTP要求ヘッダー自体が不明な場合は、以下等を参考にしてください。

shikumika.org

kintoneのREST APIの仕様は次のとおりです。

cybozu.dev

設定手順

設定のアウトプットイメージ

この事例のPower Automate Desktopでの動作イメージは次のとおりです。

  1. APIトークンを変数に代入
  2. WebURLを変数に設定
  3. Webサービスの呼び出し
  4. JSONをカスタムオブジェクトに変換
  5. JSONから値を取り出し

なお、汎用性を持たせるために、APIトークンとWebURLを変数に設定しています。

JSONからの値を取り出しは、動作確認用なので一つの値だけ抽出しています。

具体的な設定イメージは次のとおりです。

アクションが5つあり、「Webサービスの呼び出し」でJSONから値を取得しています

Power Automate Desktopの設定イメージ(Webサービスの呼び出し)

設定の説明

1.APIトークンとWebURLを変数に設定

APIトークンとWebURLを変数に設定は汎用性を持たせるためなので、次の手順「Webサービスの呼び出し」で直接入力しても構いません。

記載内容は、取得したいWebサービスの仕様に従います。

なお、この事例でのAPIトークンとWebURLが不明な場合は、【Power Query】WebページからデータをExcelに読み込む事例(kintoneのAPI連携)の説明も確認ください。

2.「Webサービスの呼び出し」の設定

Webサービスの呼び出しは、取得したいWebサービスの仕様に従い設定します。

HTTPアクションの中に「Webサービスを呼び出します」があります。

設定する情報は、「URL/メソッド/受け入れる/コンテンツタイプ/カスタム ヘッダー/ 要求本文」などです。

「受け入れる/コンテンツタイプ」の欄は、空白は無効となっています。

この事例での設定例は、次のとおりです。

  • URL: %WebUrl%
  • メソッド: GET
  • 受け入れる: application/json 
  • コンテンツタイプ:text/plain
  • カスタム ヘッダー: X-Cybozu-API-Token:  %API_TOKEN%

※「%WebUrl%」、「%API_TOKEN%」はそれぞれ設定した変数名

コンテンツタイプは、text/plain を設定している

「Webサービスを呼び出します」の設定イメージ
3.JSONをカスタムオブジェクトに変換、値を取り出し

レスポンスがJSON形式で返されます。この事例は、動作確認で複数レコードから一つの値を抽出してみただけです。あとは目的に応じた処理を実施します。

以下はPowerAutomateでJSONの値取得の手順例です。

shikumika.org

PowerFxを有効にしている場合は、次の方法です。

shikumika.org

エラー事例と補足説明

「Webサービスを呼び出します」の設定で、コンテンツタイプに「application/json」を指定すると、

HTTPステータスコード 520

参考: kintone REST APIの共通仕様 - cybozu developer network

となり、エラーレスポンスが

{"code":"CB_IL02","id":"xxxxxxxxxxxxx","message":"不正なリクエストです。"}

といった内容になります。

この事例では、コンテンツタイプが、

  • text/plain
  • application/x-www-form-urlencoded

であれば値取得できました。

以上、Power Automate Desktopで、「Webサービスを呼び出します」の設定事例(kintoneの複数レコード取得)でした。

参考

その他、Power Automate Desktopでkintone REST APIの設定事例まとめを以下に記載しています。

shikumika.org