Power Automate for desktop

APIを使ったkintoneとPower Automate for desktopの連携(2)

前回の記事ではkintone REST APIを使ってPower Automate for desktop(PAD)からレコードを登録する方法を紹介しました。
今回は同じくAPIを使って複数のレコードを一度に登録する方法を紹介します。

事前準備

APIを使ってアプリの操作を行うにあたり、いくつかの事前準備が必要となります。
詳細な手順は前回の記事をご参照ください。

また、kintoneアプリも前回と同じものを使用します。

PADからkintoneアプリに複数レコードを一括登録

フロー全体

変数の設定

「変数の設定」アクションでAPIトークンを変数(%APIToken%)の値として設定します。
(機密情報としてマークすると良いでしょう。)

変数の設定

「変数の設定」アクションでサブドメイン(URL「https://(サブドメイン).cybozu.com」の左記部分)を変数(%SubDomain%)の値として設定します。
(必要に応じて機密情報としてマークすると良いでしょう。)

数値をテキストに変換

「数値をテキストに変換」アクションでアプリIDを変数(%AppID%)の値として設定します。
このアクションを使うことで、カスタム オブジェクトをJSONに変換した際(後述)にアプリIDが自動的に数値として変換されることを防ぎます。

変数の設定

「変数の設定」アクションでレコードとして登録するデータを変数(%DataTable%)の値として設定します。今回はDatatable型の変数を設定するのに「変数の設定」アクションを使用しましたが、「新しいデータ テーブルを作成する」アクションで作成したり、「Excel ワークシートから読み取る」アクションでExcelファイルからデータを読み込んでも良いでしょう。

%{ ^['氏名', 'しめい', '生年月日', '性別', 'メールアドレス', '電話番号', '会社名'], ['テスト 一郎', 'てすと いちろう', '1993-11-25', '男', 'test_ichiro@example.hoge', '03-1234-5678', '有限会社テスト'], ['テスト 道子', 'てすと みちこ', '2003-04-01', '女', 'test_michiko@example.hoge', '03-0001-0002', 'ほげっとカンパニー'], ['テスト 信長', 'てすと のぶなが', '2019-05-05', '男', 'test_nobunaga@example.hoge', '03-9999-8888', 'ほげ株式会社'] }%

新しいリストの作成

「新しいリストの作成」アクションで空のリスト(%List%)を作成します。

For each

「For each」アクションで変数:%DataTable%の値を順次処理します。

項目をリストに追加

「項目をリストに追加」アクションで下記の値をリスト(%List%)に追加していきます。

%{ '氏名': { 'value': CurrentItem['氏名'] }, 'しめい': { 'value': CurrentItem['しめい'] }, '生年月日': { 'value': CurrentItem['生年月日'] }, '性別': { 'value': CurrentItem['性別'] }, 'メールアドレス': { 'value': CurrentItem['メールアドレス'] }, '電話番号': { 'value': CurrentItem['電話番号'] }, '会社名': { 'value': CurrentItem['会社名'] } }%

変数の設定

「変数の設定」アクションでカスタム オブジェクト(%CustomObject%)を作成します。

%{ 'app': AppID, 'records': List }%

「変数の設定」アクションを使ったカスタム オブジェクトの作成やカスタム オブジェクトの項目にリストを追加する方法、後述のJSON作成方法については @sys_zero さんがまとめられている下記ページの解説が大変分かりやすいです。

カスタム オブジェクトを JSON に変換

「カスタム オブジェクトを JSON に変換」アクションでカスタム オブジェクト(%CustomObject%)からJSON(%CustomObjectAsJson%)に変換します。

Web サービスを呼び出します

「Web サービスを呼び出します」アクションでkintone REST APIを実行してレコードを登録します。

  • URL:https://%SubDomain%.cybozu.com/k/v1/records.json
  • メソッド:POST
  • 受け入れる:application/json
  • コンテンツ タイプ:application/json
  • カスタム ヘッダー:X-Cybozu-API-Token: %APIToken%
  • 要求本文:%CustomObjectAsJson%
  • 要求本文をエンコードします:オフ

前回の記事で一件登録したときのPOST先のURLは「record.json」でしたが複数件登録するときのURLは「records.json」となっています。

Switch

API実行時に問題が発生した場合は、ステータスコード(%StatusCode%)として200以外の値が返ってくるのでSwitchとCaseアクションを使って判定を行い、エラー内容(%WebServiceResponse%)をメッセージボックスで表示します。

実行画面

上記のように、kintone REST APIに用意されている複数のレコードをまとめて登録するためのメソッドをPADから実行することで、例えばExcelファイルから読み込んだセル範囲をまとめてkintoneアプリに登録する処理も簡単にできます。ただし、一度に登録できるレコードは 100 件までといった制限があるので、その点は注意しておきましょう。

関連記事

APIを使ったkintoneとPower Automate for desktopの連携前のページ

2023年10月の人気記事次のページ

関連記事

  1. Power Automate for desktop

    Power Automate for desktopのアクション一覧

    Power Automate for desktopのアクションペイン…

  2. Power Automate for desktop

    Power Automate DesktopでPPAPしてみた。

    PPAP、所謂パスワード付きZipをメールに添付して、そのメールとは別…

  3. Power Automate for desktop

    [Power Automate Desktop]Google Driveにファイルをアップロードする…

    前々回の記事でGoogle Drive APIの実行に必要なアクセスト…

  4. Power Automate for desktop

    Power Automate Desktopを更新するPowerShellスクリプト

    公式ブログを見れば分かる通り、Power Automate Deskt…

  5. Power Automate for desktop

    [Power Automate Desktop]オートメーション ブラウザーとは?

    まず表題の「オートメーション ブラウザー」とは何かと言うと、Power…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP