PAC(Power Automate Cloud)はBoxのファイルを操作することができます。またOneDriveのファイルを操作することができます。
しかしBoxからOneDriveにコピーするアクションがありません。
Boxで情報を取得してOneDriveでファイルを作成するという方法を紹介します。
手法
Boxには【ファイルのコピー】というアクションがありますが、Box内に限られ、OneDriveにはコピーできません。
しかし、ファイル名とファイルの中身を取得する方法があるので、これを使えば、OneDriveでファイルを作成することができ、結果的にコピーしたことになります。
フロー
【フローを手動でトリガーする】
これは他のトリガーでも構いません。
Box【IDによるファイルメタデータの取得】
ファイルID:(BoxにおけるファイルID)
Boxにあるファイルはそれぞれユニークな番号が付いています。
ブラウザで開いたときにURLに表示される数列のことです。
https://xxxxx.box.com/file/9999999999999
Box【IDによるファイルコンテンツの取得】
ファイルID:(BoxにおけるファイルID)
詳細パラメータ:(なし)
ファイルIDは上述の通りです。
詳細パラメータはセットしなくても正しく動作しました。
OneDrive【ファイルの作成】
フォルダーのパス:(保存したいOneDrive上のフォルダーパス)
ファイル名:outputs(‘ID_によるファイル_メタデータの取得’)?[‘body/Name’]
ファイルコンテンツ:body(‘ID_によるファイル_コンテンツの取得’)
OneDrive for Businessにある【ファイルの作成】を使います。
【IDによるファイルメタデータの取得】で取得したファイル名(body/Name)をセットします。
【IDによるファイルコンテンツの取得】で取得したファイルコンテンツ(ファイルの内容)をセットします。
まとめ
この方法でExcelファイルをBoxからOneDriveにコピーすることができました。
面白いのはIDを指定すると拡張子などを指定しなくてもよいところです。

コメント