PACでBoxからOneDriveにファイルをコピーする方法

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を指定すると拡張子などを指定しなくてもよいところです。

コメント

タイトルとURLをコピーしました