ごきげんよう、百合宮桜です。
Microsoft 365 にどっぷり漬かりすぎて、外部コネクタを試せていなかったので、久々に試してみました(*'▽')
今回は、Power Apps のアプリからGoogleDrive に画像を保存する時のパターンを紹介します。
アプリのイメージはこんな感じで、画像の追加コントロールで画像を指定して、ボタンを押したタイミングでGoogleDriveに画像が保存されます。
保存方法は大きく分けて2パターンあります。
- Power Apps と Power Automate を連携する方法
- Power Apps オンリーで保存する方法
それぞれ見ていきましょう!
Power Automate との連携
フローの作成
Power Automate と連携する場合はフローを作成します。
-
GoogleDriveのアクションは「ファイルの作成」を利用します
ファイル名とファイルコンテンツは、動的なコンテンツからトリガーで取得したものを指定しましょう。
これでフローは完成です。必ず保存してくださいね(*'▽')
アプリからの連携処理
-
ボタンの OnSelect プロパティに以下の式を入力します
フロー名.Run( //{}内がトリガーのファイルコンテンツに入力される { //現在時刻で画像の名前を指定 name:Text(Now(),"yyyymmddhhmmss"), //画像のファイルコンテンツを指定 contentBytes:UploadedImage1.Image } )
フロー名.Run() は Power Automate のフローを実行する為の関数です。
()内にPower Apps → Power Automate へ受け渡す引数が入ります。
ファイルを受け渡す時は{}内に name と ContentBytes が入っているのがルールです。
これで連携完了です。ボタンをクリックすれば、画像が GoogleDrive に保存されます。
Power Apps だけで画像を保存する方法
こちらはシンプルで、コネクタを追加し、ボタンの OnSelect プロパティに式を書くだけです。
-
データ > データの追加 から「GoogleDrive」を追加します
-
ボタンの OnSelect プロパティに以下の式を入力します
GoogleDrive.CreateFile(フォルダーのパス,ファイル名,ファイルコンテンツ)
GoogleDrive.CreateFile() でGoogleDrive にファイルを作成するという指示になります。
()内には指定する引数を入れます。
Microsoft Learn を確認すると、ファイルの作成に必要な引数は、フォルダーのパス・ファイル名・ファイルコンテンツの3つです。
フォルダーのパスとファイル名は文字列なので、直打ちの場合は"" で囲ってあげましょう。
フォルダーの階層は / で表現できます。私はこんな感じで指定しました。
GoogleDrive.CreateFile("/Test",Text(Now(),"yyyymmddhhmmss"),UploadedImage1.Image)
以上で完了です。
終わりに
今回は GoogleDrive への画像の保存方法を紹介しました。
どちらが使いやすいかはヒトによって、要件によってそれぞれだと思います。
いざという時の為に引き出しは多く持っておきましょう♪