目次
はじめに
注)今回は若干、テクニカルな内容のブログとなります!
UiPathで作成したファイルをSharePoint上にアップロードしたり、逆にSharePointからダウンロードしたいケースがあると思います。
SharePointとの連携は、SharePoint REST APIを使用するのが一般的ですが、Office365ログインのための認証方法が少々複雑だったり、APIのインターフェース仕様を押さえる必要があるなど、導入のハードルが高いことが課題になりがちです。
UiPathでは、Office365と連携を行うための「UiPath.MicrosoftOffice365.Activities」パッケージが公式から提供されていますが、ログイン認証がやはり難しく、一から実装するほどではないにしろ、やはり難易度は高いという印象です…。
(出来なくはないのですが、SharePointにただファイルをアップロードしたいだけ、という要件から見ると割に合わないです。)
そこで、今回は「UiPathTeam.SharePoint.Activities」パッケージ(非公式)を用いて、最低限の準備でUiPathとSharePointの連携を実現する方法をご紹介いたします!
始める前に
① パッケージ利用における規約等の確認
今回使用する「UiPathTeam.SharePoint.Activities」パッケージは、UiPathの公式が提供しているパッケージではなく、「Internal Labs」という団体が提供しているパッケージです。非公式とは言っても、UiPathが提供するマーケットプレイス上で活動している団体です。
ただ、例えばお客様環境で動くUiPathプログラムを作る場合などに、お客様から提示された規約に「利用できるパッケージはUiPath公式であるものに限る」などの一文があると、規約を満たしていないことになりますので注意してください。
また、このパッケージはあまり日本語の情報がなく、英語のドキュメントばかりですので、その点も注意が必要です。(Google翻訳が高性能になった現代で、あまり英語に困ることはなくなりましたが、一応…)
A custom activities package that allows the management of List Items, Library Files and Folders, Users, Groups and Permissions. New activities and 2 new authentication modes have been added in v1.7.0
引用元:https://marketplace.uipath.com/ja/listings/sharepoint-custom-activities-package
SharePointと連携するために必要な情報は以下の3つのみとなります。
(AzureのアプリケーションIDなどは不要です。)
No. | 必要な情報 | 説明 |
---|---|---|
① | SharePointのサイトURL | アクセスしたいSharePointのサイトURLです。 |
② | ユーザ名 | アクセスしたいSharePointにログインするために必要な、Office365ユーザの名前です。 |
③ | パスワード | アクセスしたいSharePointにログインするために必要な、Office365ユーザのパスワードです。 |
今回のSharePoint連携で必要な情報となりますので、予め確認しておいてください。
実際にやってみましょう!
今回は以下の処理を行うサンプルプログラムを作成します。
<処理概要>
① アップロード用のテキストファイルを作成する。
② SharePointにログインする。
③ SharePoint上にフォルダを作成する。
④ SharePointにテキストファイルをアップロードする。
【事前準備】 パッケージをダウンロードする
プログラムを作成し始める前に、まず以下の手順で「UiPathTeam.SharePoint.Activities」パッケージをダウンロードします。
<ダウンロード手順>
① 「パッケージ管理」をクリックする。
② 「パッケージ管理」ダイアログが表示されるので「すべてのパッケージ」を選択する。
③ 「検索キーワード入力」欄に「Excel」を入力し、エンターキーを押す。
④ 「UiPathTeam.SharePoint.Activities」を選択する。
⑤ 「インストール」ボタンをクリックする。
⑥ 「保存」ボタンをクリックする。

ダウンロードが完了すると、以下のようにアクティビティが追加されます。
(日本語がサポートされていないので、アクティビティ名や説明は英語表記です。)

① アップロード用のテキストファイルを作成する
まず、SharePointにアップロードするテキストファイルを作成するため、「アクティビティ」から「テキストをファイルに書き込み」アクティビティを選択します。
テキストファイルにはファイルの作成時間を書き込みたいので、「DateTime.Now」で現在時刻を取得しています。

方向 | 項目名 | 説明 | 設定値例 |
---|---|---|---|
入力 | テキスト | テキストファイルに書き込む内容を入力します。 | “ファイル内容のサンプルです。” |
出力 | ファイル名 | テキストファイルのファイル名を入力します。 出力先のフォルダを含まず、ファイル名だけを入力した場合は、カレントフォルダに作成されます。 | “アップロード用テキストファイル.txt” |
SharePoint関連の操作を行うには、最初にSharePointにログインする必要があります。
「アクティビティ」から「Sharepoint Application Scope」アクティビティを選択し、ログインに必要な情報をプロパティに設定します。

方向 | 項目名 | 説明 |
---|---|---|
入力 | URL | アクセスしたいSharePointのサイトURLを入力します。 |
入力 | UserName | Office365のユーザ名を入力します。 |
入力 | Passwor | Office365のパスワードを入力します。 |
ここではパスワードを「String」型で扱っていますが、パスワードを「String」型で扱うと、パスワードの漏洩など、セキュリティ的なリスクが高くなります。
セキュリティ的な要件が伴う場合、「UiPath Orchestratorのアセット機能」や「Windowsの資格情報マネージャー」でパスワードをセキュアに管理した上で、UiPathプログラムにおいても機密性の高い「Secure String」型でパスワードを扱うようにしてください!
<操作手順>
① 「Sharepoint Application Scope」アクティビティの「Test Connection」をクリックする。
② 「Password」に再度パスワードを入力する。
③ パスワード入力後、「Test Connection」をクリックする。
<確認方法>
メッセージダイアログを確認し、接続に成功したことを確認する。
フォルダを作成する前に、フォルダ名を生成します。
今回は、UiPathを実行した日付のフォルダを作成するようにします。
「代入」アクティビティを選択し、変数「フォルダ名」に「DateTime.Now.ToString(“yyyy-MM-dd”)」を代入してください。

次に、SharePoint上にフォルダを作成するため、「アクティビティ」から「Create Folder」アクティビティを選択し、「SharePoint Application Scope」の「Do」シーケンスに配置します。
作成するフォルダまでの参照パスをURL形式で指定するので、「Item URL」に先ほど作成したフォルダ名と組み合わせたURLである「”/アップロード先/” + フォルダ名」を入力します。

方向 | 項目名 | 説明 | 設定値例 |
---|---|---|---|
入力 | Library Name | フォルダを作成するライブラリの名前を入力します。 ※後述 | “ドキュメント” |
入力 | Item URL | 作成するフォルダの参照パスをURL形式で入力します。 ※後述 | “/アップロード先/株式会社A様” |
「Create Folder」アクティビティの設定値は少し分かりにくい仕様になっているため、実際のSharePointの画面と合わせて説明していきます。

「Library Name」はドキュメントのルートフォルダの名前となります。URLにある「Shared Documents」ではないので注意してください。(FAQなどを見ると、多くの人がここで戸惑っているようです。)
なお、ブログで使用しているサイトは言語が日本語であるため「ドキュメント」となりますが、サイトの言語設定が英語の場合は「Documents」となるので、実際のSharePointの画面を確認しながら入力したほうが確実です。
「Item URL」にはルートフォルダより下の、作成したいフォルダまでのパスをスラッシュ区切りで入力します。
今回は「アップロード先」フォルダ配下に新しくフォルダを作成するので「”/アップロード先/” + フォルダ名」としていますが、例えば「アップロード先 > 株式会社A様」の配下に新しく「テスト太郎様分」フォルダを作成したい場合は、「”/アップロード先/株式会社A様/テスト太郎様分”」と入力します。
ここまでが長くなってしまいましたが、最後のアップロードは直感的で簡単です。
SharePointにテキストファイルをアップロードするため、「アクティビティ」から「Upload File」アクティビティを選択し、「SharePoint Application Scope」の「Do」シーケンスに配置します。
アップロードするフォルダまでの参照パスをURL形式で指定するので、「Item URL」には「”/Shared Documents/アップロード先/” + フォルダ名」を入力します。
(「Create Folder」アクティビティと異なり、「Shared Documents」を含めた参照パスを入力します。)
「Local Path」には、①で作成したテキストファイルのパスである「”アップロード用テキストファイル.txt”」を入力します。

方向 | 項目名 | 説明 | 設定値例 |
---|---|---|---|
入力 | Item URL | ファイルをアップロードするSharePoint上のフォルダの参照パスをURL形式で入力します。 | “/Shared Documents/アップロード先/株式会社A様” |
入力 | Local Path | アップロードするファイルのパスを入力します。 | “アップロード用テキストファイル.txt” |
⑤ 実行する
サンプルプログラムの準備が整ったので、実行してみます。

無事、正常終了しました!
(デバックモードの起動に時間がかかっていますが、SharePoint関連の処理は2秒程度しかかかっていません。)
それでは次に、SharePointにファイルがアップロードされているか確認しましょう。
まずは、「アップロード先」フォルダの配下に「2021-06-14」のフォルダが作成されていることを確認します。

想定通りフォルダが作成されています!
今度は、そのフォルダ配下に「アップロード用テキストファイル.txt」がアップロードされていることを確認します。

こちらもOKですね。
なお、テキストファイルの内容ですが、きちんとファイルの作成時間が書き込まれています!

まとめ
いかがだったでしょうか?
今回はSharePointとの連携が簡単に実現できる「UiPathTeam.SharePoint.Activities」パッケージについてご紹介しました!
「UiPathTeam.SharePoint.Activities」パッケージは、他にもSharePointのListsを操作することができるので、UiPathでできる自動化の幅が広がりそうですね。
その他の様々な処理についても今後当サイトのブログで紹介していこうと思いますのでよろしくお願いいたします!