前回の記事でkintone 開発者ライセンスの取得方法を紹介したので、せっかくなのでkintone REST APIを使ってPower Automate for desktop(PAD)からレコードを登録する方法も紹介します。
事前準備
APIを使ってアプリの操作を行うにあたり、いくつかの事前準備が必要となります。
- アプリの設定画面から各フィールドの「フィールドコード」を設定します。
- 設定タブから「APIトークン」を開きます。
- API実行時に必要になるため、「例」行に表示されているURLからアプリのID(下図例の場合は「3」)をメモ帳等にコピーし、「生成する」ボタンをクリックします。
- 生成されたAPIトークンをメモ帳等にコピーし、アクセス権を設定し(今回はレコードの登録を行うので「レコード追加」にチェック)、「保存」ボタンをクリックします。アクセス権は後から変更することもできます。
- 「アプリを更新」ボタンをクリックして設定を反映します。
以上で事前準備は完了です。
PADからkintoneアプリのレコードを登録
APIトークンの準備もできたので、いよいよPADからkintoneアプリのレコード登録を行っていきます。今回操作するアプリのフィールド情報は下記の通りです。
(※テストに使用しているアプリのデータは「個人情報テストデータジェネレーター」で作成したダミーデータになります。)
- アプリ名:会員情報管理
- アプリID:3
フィールド名 | フィールドコード | 種類 |
---|---|---|
氏名 | 氏名 | 文字列(1行) |
氏名(ひらがな) | しめい | 文字列(1行) |
生年月日 | 生年月日 | 日付 |
性別 | 性別 | ラジオボタン |
メールアドレス | メールアドレス | リンク |
電話番号 | 電話番号 | 文字列(1行) |
会社名 | 会社名 | 文字列(1行) |
2023/11/1 追記:
フィールドコードを取得するための簡易的なブックマークレットを作成しました。
フロー全体
変数の設定
「変数の設定」アクションでAPIトークンを変数(%APIToken%)の値として設定します。
(機密情報としてマークすると良いでしょう。)
変数の設定
「変数の設定」アクションでサブドメイン(URL「https://(サブドメイン).cybozu.com」の左記部分)を変数(%SubDomain%)の値として設定します。
(必要に応じて機密情報としてマークすると良いでしょう。)
数値をテキストに変換
「数値をテキストに変換」アクションでアプリIDを変数(%AppID%)の値として設定します。
このアクションを使うことで、カスタム オブジェクトをJSONに変換した際(後述)にアプリIDが自動的に数値として変換されることを防ぎます。
JSON をカスタム オブジェクトに変換
「JSON をカスタム オブジェクトに変換」アクションでPOSTするパラメーターの元となるJSONをカスタム オブジェクト(%JsonAsCustomObject%)に変換します。
{ "app": "", "record": { "氏名": { "value": "" }, "しめい": { "value": "" }, "生年月日": { "value": "" }, "性別": { "value": "" }, "メールアドレス": { "value": "" }, "電話番号": { "value": "" }, "会社名": { "value": "" } } }
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘app’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘氏名’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘しめい’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘生年月日’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘性別’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘メールアドレス’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘電話番号’][‘value’]%)を設定します。
変数の設定
「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘会社名’][‘value’]%)を設定します。
カスタム オブジェクトを JSON に変換
「カスタム オブジェクトを JSON に変換」アクションでカスタム オブジェクト(%JsonAsCustomObject%)からJSON(%CustomObjectAsJson%)に変換します。
Web サービスを呼び出します
「Web サービスを呼び出します」アクションでkintone REST APIを実行してレコードを登録します。
- URL:https://%SubDomain%.cybozu.com/k/v1/record.json
- メソッド:POST
- 受け入れる:application/json
- コンテンツ タイプ:application/json
- カスタム ヘッダー:X-Cybozu-API-Token: %APIToken%
- 要求本文:%CustomObjectAsJson%
- 要求本文をエンコードします:オフ
Switch
API実行時に問題が発生した場合は、ステータスコード(%StatusCode%)として200以外の値が返ってくるのでSwitchとCaseアクションを使って判定を行い、エラー内容(%WebServiceResponse%)をメッセージボックスで表示します。
実行画面
以上のような手順で、kintone REST APIを使ってPADからkintoneアプリへレコード登録できることが確認できました。
APIの知識は必要になりますが、PADの「Web サービスを呼び出します」アクションを使用することで、kintoneに用意されている様々なAPIを簡単に実行することができます。
2023/10/31 追記:
kintone REST APIを使ってPADから複数のレコードをまとめて登録する方法についても記事を書きました。
この記事へのコメントはありません。