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]UI要素のセレクターに関するメモ書き

    先日ロボ研さん( @AsahiRobo_RPA )がUI要素のセレクタ…

  2. Power Automate for desktop

    Power Automate for desktopの起動方法

    今回はPower Automate for desktop(PAD)の…

  3. Google関連

    [Google Apps Script]Google フォームとkintoneを連携させる方法(添付…

    前回の記事では、GASを使ってGoogle フォームで入力された回答を…

  4. Power Automate for desktop

    無料で学ぶPower Automate Desktop

    下記記事にある通り、2021年の3月からPower Automate …

  5. Power Automate for desktop

    [Power Automate for desktop]ファイル名として使えない文字を別の文字に置き…

    例えばExcelのセルから読み取った値を使ってファイル名の変更等を行い…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP