SharePoint リストアクティビティの追加機能
UiPathのMicrosoft 365アクティビティでは、内包されるSharePoint リストアクティビティで2023年末に機能の追加がありましたので、内容をご説明したいと思います
関連記事
#1 IDフィルタ機能
UiPath関連でSharePointリストを扱っているもの
Sharepointのリスト操作をUiPathで自動化しましょう
前提
- これら機能を持つバージョンは、UiPath Studio 2023.10以降をサポートします
- Integration Serviceを利用する必要があります
- プロジェクトの種類で「Windows - レガシ」は非対応です
SharePoint リストの列で「Person or Group」の値が取れるようになった
SharePointリストには、列の種類として「Person or Group」というものがあります。この列はAzure AD上のアカウント情報を取得し表示する列ですが、Microsoft 365 アクティビティ クラシックのSharePointリストアクティビティでは、ユーザーのID番号を値としてとる形となり、値を取得できませんでした
準備
SharePointリストを準備します。検証なので、簡単ですがPerson or Groupの列を1つ追加しただけのものです。この列は、「列の追加」で種別が「ユーザー」の列を選ぶことで作成できます
追加後の外観です。User列がPerson or Groupです。
「アクティビティ」と「クラシックアクティビティ」
最新のMicrosoft 365アクティビティでは、Integration Service利用が前提のアクティビティと、旧来のWF内で認証処理も行うクラシック版の2種類が分かれて存在しています
アクティビティパネルの「連携」→「Microsoft]を参照すると、以下画面のように分かれて見えます
「クラシックアクティビティ」の挙動確認
クラシック版では、最初に「Microsoft Office 365 スコープ」アクティビティを配置し、その中に入れ子にする形で各処理を実装します。
今回は、まず「リストの情報を取得」アクティビティでリストの構造を取得し、「リストアイテムを取得」アクティビティでとったタイトル列とUser列をエクセルに張り付けてみました
サンプルワークフロー
(下記サンプルではMicrosoft 365アクティビティ バージョン3.4.3を使用しています)
結果を確認すると・・
User列の値が「368」となっています。この値はMicrosoft365側で持つアカウントのIDになり、この情報からユーザーを特定することは困難です。
アクティビティの挙動確認
新しい「アクティビティ」では、認証はIntegration Serviceのコネクタを利用するため、「Microsoft Office 365 スコープ」は不要です。
Integration Serviceの準備方法や「リストアイテムを取得」アクティビティの説明については、以下の記事をご覧ください。
#1 IDフィルタ機能
結果を確認すると・・
ちなみに、Person or Group列のデータは、表示されている値以外にも様々なアカウント情報を持っています。残念ながら、現時点では表示されているデータしか値として取得できませんが、リスト側で表示を切り替えることで、メールアドレス等を取得することができます。
SharePointリストの設定ボタンから「リストの設定」を選択し、
サンプルワークフローを再実行すると、メールアドレスが取れました
ユースケース
Person or Groupの列は、Azure ADのユーザー情報と連携しているため、仮にアカウントの情報がAzure AD上で変更された場合、リスト側を編集しなくても自動でアカウント情報が変わります。
こういった事情に備え、文字でメールアドレスや電話番号を設定せず、Person or Groupの列を利用したい場面があると思いますが、UiPath側で値としてとることができるようになり、利便性が向上したと思います。