shikumika’s diary

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

【Power Automate】kintone REST APIで登録されたファイルをダウンロードする事例

Power Automate Desktopで、kintone REST APIを使用して「登録されたファイルをダウンロードする事例」です。これまで本ブログで掲載した1件のレコードの取得の手順が理解できれば、取得は可能な見込です。

内容:

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

事例の前提

この事例は、kintoneのレコードに登録されている「添付ファイル」をダウンロードし、デスクトップに保存する事例です。

事例のレコードの状況は次のとおりです。

アプリID: 140

レコードの番号: 3

添付ファイルを保存するフィールドの「フィールドコード」: 添付ファイル 

なお、以降の手順は【Power Automate】kintone REST APIで1件のレコードを取得する事例 の知識がある前提です。

また、kintone REST APIのファイルダウンロードの仕様は次のとおりで、ファイルキーを取得して、指定する必要があります。

cybozu.dev

設定手順

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

設定するフローの全体像は次のとおりです。

  1. APIトークンを変数に代入
  2. WebURLを変数に設定
  3. Webサービスの呼び出しで、「fileKey」を含む応答を変数に代入
  4. JSONをカスタムオブジェクトに変換で、変数を変換
  5. 変数から「fileKey」を抽出
  6. 変数から「name」を抽出(ファイル名として利用)
  7. Webサービスの呼び出しで、「fileKey」を使用してダウンロード、「name」のファイル名で保存

「fileKey」を取得し、ファイルをダウンロード、保存しています

Power Automate Desktopの設定イメージ(登録されたファイルをダウンロード)

設定の説明

1.APIトークンを変数に代入

APIトークンを次の情報等を参考に変数に代入します。

参考: 認証 - cybozu developer network

2.WebURLを変数に設定

WebURLは「https://(自分のURL).com」までを変数に代入します。 

3.Webサービスの呼び出しで、「fileKey」を含む応答を変数に代入

【Power Automate】kintone REST APIで1件のレコードを取得する事例と同様に次の通り設定します。

ダウンロードするfileKey等の情報を取得します

「Webサービスを呼び出します」の設定イメージ(fileKey等を含むJSON取得)

 

4.JSONをカスタムオブジェクトに変換で、変数を変換

「変数」アクションにある「JSONをカスタムオブジェクトに変換」で、前手順で取得した変数を変換します。

詳細の手順は、以下に記載しています。

shikumika.org

5.変数から「fileKey」を抽出

JSONファイルの状況から、今回は次の内容で「Filekey」を取得します。

%JsonAsCustomObject['record']['添付ファイル']['value'][0]['fileKey']%

なお、この「添付ファイル」は、添付ファイルが保存されている「フィールドコード」の名前です。アプリの内容に応じて修正が必要です。

%JsonAsCustomObject['record']['添付ファイル']['value'][0]['fileKey']%

変数から「fileKey」を抽出の設定例
6.変数から「name」を抽出(ファイル名として利用)

ダウンロードしたファイルの保存名称を取得するため、JSONファイルから「name」も取得します。保存名称が固定であれば、この手順は不要です。

%JsonAsCustomObject['record']['添付ファイル']['value'][0]['name']%

%JsonAsCustomObject['record']['添付ファイル']['value'][0]['name']%

変数から「name」を抽出の設定例
7.Webサービスの呼び出しで、「fileKey」を使用してダウンロード、「name」のファイル名で保存

Webサービスの呼び出しで、「fileKey」と「name」を使用し、デスクトップ等の所定の場所にファイルを保存します。

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

URL: %WebUrl%file.json?fileKey=%filekey%

メソッド: GET

受け入れる: application/json

コンテンツタイプ:text/plain

カスタム ヘッダー: X-Cybozu-API-Token:  %API_TOKEN%

要求本文: 空白

応答を保存します: ディスクに保存します(ファイル用)

ファイル名: 完全なパス(宛先フォルダー + カスタムファイル名)を指定します

宛先のファイルのパス: C:\Users\xxx\Desktop\テスト\%name%

「fileKey」と「name」を用いて設定しています

Webサービスの呼び出しで「ディスクに保存します(ファイル用)」の設定例

これで設定は完了です。kintone REST APIで登録されたファイルをダウンロードできました。必要に応じて繰り返しの処理などを追加します。

以上、Power Automate Desktopで、kintone REST APIを使用してファイルをダウンロードする事例でした。

参考

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

shikumika.org