UiPathではUiPath.Box.Activitiesを使用して、BOXの様々な操作をすることができます。

当記事では、実際にBoxへのファイルアップロードやBox上でのファイル移動・コピー・削除を行います。

 

使用準備
前提として、Boxアクティビティは、Boxスコープ内に設置する必要があります。
Boxスコープでは接続設定が必要ですので、設定が済んでいないかたは先に接続設定をします。
BoxとUiPathの接続設定についてはBoxAPI使用準備編をご参照ください。

①アップロード
ファイルのアップロードには「ファイルをアップロード」アクティビティを使用します。

アップロード

ファイルパスはアップロードをしたいファイルを指定します。
親フォルダーIDはBOX上のフォルダページのURL(https://app.box.com/folder/*)のfolder/以下の数字です。

ファイルパスはアップロードをしたいファイルを指定

実際にロボットを動かすと、指定したフォルダーにファイルがアップロードされます。

指定したフォルダーにファイルがアップロード

 

②移動
ファイルの移動には「ファイルを移動」アクティビティを使用します。

ファイルを移動

ファイルIDには移動させるファイルのIDを入力します。
ファイルIDはBOX上のファイルページのURL(https://app.box.com/file/*)のfile/以下の数字です。

ファイルIDには移動させるファイルのIDを入力

親フォルダーIDにはファイル移動先のフォルダーのIDを入力します。
実際にロボットを動かすと、ファイルが指定したフォルダーに移動されます。

 

③コピー
ファイルのコピーには「ファイルをコピー」アクティビティを使用します。

ファイルをコピー

ファイルIDには移動させるファイルのIDを入力します。
親フォルダーIDにはファイル移動先のフォルダーのIDを入力します。

実際にロボットを動かすと、ファイルが指定したフォルダーにコピーされます。

ここで、親フォルダーIDにコピー元のファイルの位置と同じ階層を指定したらどうなるでしょうか。
ロボットを動かすと末尾に(1)が加えられたファイルが増えています。

ロボットを動かすと末尾に(1)が加えられたファイルが増えています。

このように元のファイルと同じ階層を親フォルダー指定した場合は、末尾に(1)のような数字が加えられ複製されます。

では同名のファイルが存在する別のフォルダーを親IDに指定したらどうなるでしょうか。
ロボットを動かすと次のようにエラーが起こりました。

~~~ファイルをコピー: The API returned an error [Conflict |***] item_name_in_use – Item with the same name already exists~~~

同じ名前の項目はすでに存在します。というエラーが発生しました。
このエラーは、同じ名前のリソースがすでに存在している場合に発生する可能性があります。

追加/変更するリソース名には一意の名前を指定する必要があり、同名のファイルが存在する別のフォルダーにはコピーはできないようになっています。

 

④削除
ファイルの削除には「ファイルを削除」アクティビティを使用します。

ファイルを削除

ファイルIDには移動させるファイルのIDを入力します。

実際にロボットを動かすと、指定したファイルが削除されます。

実行前

実行前

 

実行後

実行後

 

当記事では、実際にBoxスコープ内で動作するアクティビティをいくつか動かしてみました。
そのほかにもBoxを操作するアクティビティがいろいろとありますので是非お試しください。