Gluegent Flow で Power Automate を使用して入力フォームで申請された添付ファイルをアップロードする方法をご紹介します。
設定の流れは以下の通りです。
1. Power Automate の準備
2. 外部システム実行自動処理の準備
3. 検証を行う
重要:
-
本記事における Power Automate のスクリーンショットは 2024/12 時点のものです。
-
本記事内で使用する「HTTP 要求時の受信」アクションは Premium コネクタに分類されるため、 Power Automate の有償ライセンス(Power Automate Premiumのプラン以上)が必要になります。
-
Power Automate の有償ライセンス数は Gluegent Flow と連携設定を行う管理者のユーザー数の分が必要です。連携設定を行うユーザーが 1 人であれば、1 ライセンス必要となります。
-
Power Automate の製品に関する仕様・設定方法につきましてはクラウドコンシェルジュのサポート対象外となります。お手数をおかけいたしますが、Microsoft 社のサポートへお問い合わせください。
情報:
Google Workspace版 Gluegent Flow / Gluegent Flow Plus をご利用で、Microsoft 365 を別途ご利用いただいている場合、このマニュアルの方法で実現が可能です。
1. Power Automate の準備
Power Automate にて「作成」をクリックします。
「インスタント クラウド フロー」をクリックします。
「フロー名」に任意の文字列を入力します。
「HTTP要求の受信時」を選択し、「作成」をクリックします。
「manual」をクリックします。
「フローをトリガーできるユーザー」は「誰でも」を選択します。
「サンプルのペイロードを使用してスキーマを生成する」をクリックします。
表示された小画面に以下の値を入力し「完了」をクリックします。
{
"fileName":"",
"contents":""
}
入力された値を元にした内容が「要求本文の JSON スキーマ」に出力されます。
「«」をクリックして画面を閉じます。
①「+」ボタンをクリックし、出てきた、②「アクションの追加」をクリックします。
「OneDrive for Business」をクリックします。
「ファイルの作成」をクリックします。
「フォルダーのパス」「ファイル名」「ファイル コンテンツ」にそれぞれ設定します。
「フォルダーのパス」では入力欄右のフォルダアイコンをクリックしてファイルの格納先フォルダを選択します。
「ファイル名」では「動的なコンテンツ」から「fileName」を選択します。
「ファイル コンテンツ」では「式」をクリックします。「base64ToBinary(triggerBody()?['contents'])」を入力し「OK」をクリックします。
注意:
まれに「式が無効です」というエラーが表示されますが、何度か実行すると成功します。
「保存」をクリックします。
「HTTP 要求の受信時」をクリックし、「HTTP POST の URL」に表示された URL をコピーします。(後で使用するので、テキストエディタ等に控えておきます)
2. 外部システム実行自動処理の準備
モデル編集画面にて任意の経路に「外部システム実行自動処理」を追加し、以下の設定を行います。
項目名 | 設定内容 |
---|---|
自動処理の名前 | 任意 |
URL | 上記でコピーした「HTTP POST のURL」 |
HTTPメソッド | 「POST」を選択 |
コンテンツ種類 | 「application/json」を選択 |
リクエスト |
下記を入力 { |
レスポンス形式 |
テキスト |
レスポンス |
任意の入力フォーム(単行テキストなど)を選択 |
ファイルが複数項目になる場合
「添付ファイル」の設定で「複数添付」のチェックをオンにした場合は上記設定で条件を追加します。
「HTTP 要求の受信時」にて「サンプルのペイロードを使用してスキーマを生成する」をクリックしたあと、以下のように入力します。
{
"fileName1":"${複数ファイル.0.filename}",
"fileContents1":"${複数ファイル.0.base64}",
"fileName2":"${複数ファイル.1.filename}",
"fileContents2":"${複数ファイル.1.base64}",
"fileName3":"${複数ファイル.2.filename}",
"fileContents3":"${複数ファイル.2.base64}"
}
情報:
ここでは入力フォーム名を「複数ファイル」としています。
ファイルの作成で1つ目のファイルについて設定後、「新しいステップ」をクリックします。
「条件」をクリックします。
「値の選択」にて「式」を選択します。「length(triggerBody()?['fileName2']) 」を入力し「OK」をクリックします。
注意:
まれに「式が無効です」というエラーが表示されますが、何度か実行すると成功します。
「次の値以上」「1」を選択・入力します。
「はいの場合」の「アクションの追加」をクリックします。
同様に「ファイルの作成」「条件」を設定し、最終的に下記の状態になるよう設定します。
「外部システム実行自動処理」のリクエスト設定も同様です。
{
"fileName1":"${複数ファイル.0.filename}",
"fileContents1":"${複数ファイル.0.base64}",
"fileName2":"${複数ファイル.1.filename}",
"fileContents2":"${複数ファイル.1.base64}",
"fileName3":"${複数ファイル.2.filename}",
"fileContents3":"${複数ファイル.2.base64}"
}
注意:
今回の例では添付ファイルが最大で 3 つまで追加されることを前提に作成しています。追加されるファイル数を想定して上記設定を行ってください。
3. 検証を行う
作成したモデルを使って実際に申請を行います。添付されたファイルが OneDrive にアップロードされることを確認します。
実行履歴で成功していることが確認できます。
対象フォルダにアップロードされていることが確認できます。