UiPath

【UiPath】MicrosoftOffice365アクティビティの認証方法と設定手順

Microsoft Office365は、毎年利用社数が増加しています。

UiPath Studioの開発で、Office365のWeb上での操作を自動化したいニーズも増えてくると想定します。

この記事では、Microsoft Office365アクティビティのインストールや設定方法、使用例について、解説します。

 

 関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

 

 

 

Office365の操作方法

Office365のWeb上での操作を自動化する方法は、Office365用のアクティビティを使用するか、クリックやキーボードを使用して操作するかのパターンがあります。

また、Office365用のアクティビティは、AzureAD事前設定が必要なアクティビティと不要なアクティビティが存在します。

表形式にまとめると以下の通りです。

No 認証方法 Office365の操作方法 アクティビティパッケージのインストール AzureADの設定 操作できることの多さ プロセス実行時の安定性
1 Microsoft Office 365 スコープ」アクティビティ 連携>Microsoft>Office365 配下のアクティビティを使用 必要 必要 安定
2 OneDrive と SharePoint を使用」アクティビティ 連携>Microsoft>Office365>ファイル 配下のアクティビティを使用 必要 不要 安定
3 クリックやキーボードアクティビティによるWebブラウザでの認証 Office365をWebブラウザで開いてログインし、クリックやキーボードのアクティビティを使用 不要 不要 不安定

 

No1の「Microsoft Office 365 スコープ」アクティビティの使用した方法が、プロセス実行時の安定性があり、連携>Microsoft>Office365 配下のアクティビティがすべて使用出来るのでおすすめです。

ただし、AzureADに対して「アプリの登録」の設定が必要です。

 

No2の「OneDrive と SharePoint を使用」アクティビティは、連携>Microsoft>Office365>ファイル 配下のアクティビティのみの使用となり、Office365上のファイルしか操作できません。

AzureADの設定が不要なので、Office365上のOneDriveやSharePoint上のファイルのみ操作する場合におすすめです。

 

No3の「クリックやキーボードアクティビティによるWebブラウザでの認証」は、クリックやキーボードのアクティビティを使用して操作するため、操作できることは、ほぼすべてですが、プロセス実行時の安定性に欠けるので、なるべく使用しない方が良いです。

ラッコくん
ラッコくん
この記事では、No1の「「Microsoft Office 365 スコープ」アクティビティ」とNo2の「「OneDrive と SharePoint を使用」アクティビティ」の使用方法を解説するよ。

 

Office365アクティビティパッケージのインストール

「Microsoft Office 365 スコープ」や「OneDrive と SharePoint を使用」アクティビティを使用するには、「MicrosoftOffice365.Activities」のアクティビティパッケージをインストールする必要があります。

アクティビティパッケージは、UiPathStudioの「パッケージを管理」からインストールします。

 

MicrosoftOffice365.Activitiesパッケージのインストール手順

①対象のプロセスをStudioで開いた状態で、[パッケージを管理]をクリックする

②ポップアップされた画面の[オフィシャル]をクリックする

③検索窓に「MicrosoftOffice365.Activities」を入力し、[MicrosoftOffice365.Activities]をクリックする

④[インストール]をクリックする

⑤[保存]をクリックする

⑥左下の[プロジェクト]をクリックし、MicrosoftOffice365.Activitiesが表示されていることを確認する

 

Office365アクティビティ一覧

Office365のアクティビティは、「連携>Microsoft>Office365」配下にあります。

「Microsoft Office 365 スコープ (Microsoft Office 365 Scope)」か「OneDrive と SharePoint を使用(Use OneDrive & SharePoint)」アクティビティ内に「連携>Microsoft>Office365」 配下のアクティビティを配置します。

「連携>Microsoft>Office365」配下のアクティビティは、以下表の通りです。

アクティビティの場所 アクティビティ名 アクティビティで出来ること
連携>Microsoft>
Office365
Microsoft Office 365 スコープ (Microsoft Office 365 Scope) Microsoft ID プラットフォームを使用して、UiPath と Microsoft Office 365 アプリケーション間の認証された接続を確立します。
連携>Microsoft>
Office365>
Excel
VLOOKUP で範囲を検索(VLookup Range) Microsoft Graph の Use workbook functions API を使用し、VLOOKUP 関数を使用して範囲の値を検索します。
シートをコピー (Copy Sheet) Microsoft Graph の API である Get range、Add worksheet、Update range を使用して、指定したブック ([コピー元のブック]) 内の既存のワークシート ([コピーするシート]) をコピーし、それを同じブックまたは別のブック ([貼り付け先ブック]) 内に新しいワークシート ([貼り付け用シート]) として貼り付けます。
シートを取得 (Get Sheets) Microsoft Graph の GetWorksheet API を使用し、指定したブック ([ブック]) からワークシートの配列 ([全シート]) を取得して、返します。
シートを追加 (Add Sheet) [シートを追加] アクティビティは、Microsoft Graph の Add worksheet API を使用して、指定したブック ([ブック]) に新しいワークシート ([シート]) を追加します。
シート名を変更 (Rename Sheet) Microsoft Graph の UpdateWorksheet API を使用して、ワークシートの指定したブック ([ブック]) の名前を、現在の名前 ([元のシート名]) から新しい名前 ([新しいシート名]) に変更します。
セルに書き込み (Write Cell) Microsoft Graph の UpdateRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) に値 ([セルの値]) を書き込みます。
セルの色を取得 (Get Cell Color) Microsoft Graph の GetRangeFormat API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) の色のプロパティを取得します。
セルを読み込み (Read Cell) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル ([セルのアドレス]) の値を取得します。
ブックを作成 (Create Workbook) Microsoft Graph の Upload item API を使用して、新しいブック ([名前]) を作成し、指定した場所 ([親]) にアップロードします。
列を読み込み (Read Column) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定した列 ([開始セル]) からセルの値を取得します。
範囲に書き込み (Write Range) Microsoft Graph の UpdateRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の特定のセル ([開始セル]) から開始する範囲のセル データ ([データ テーブル]) を書き込みます。
範囲の色を設定 (Set Range Color) Microsoft Graph の Update range format API を使用して、指定した範囲の背景色を設定します。
範囲をクリア (Clear Range) Microsoft Graph の Clear range API を使用して、指定したシートの範囲から、値、書式、塗りつぶし、罫線などをクリアします。
範囲をコピー (Copy Range) Microsoft Graph の Get range、Add worksheet、および Update range API を使用し、範囲をコピーして別の場所に貼り付けます。
範囲を削除 (Delete Range) Microsoft Graph の API である ClearRange ([移動] が [なし] の場合) または DeleteRange ([移動] が [上] または [左] の場合) を使用して、指定されたブック ([ブック]) のワークシート ([シート名]) から特定の範囲のセル データ ([範囲]) を削除します。
範囲を追加 (Append Range) Microsoft Graph の UpdateRange API を使用して、指定したブック ([ブック]) のワークシート ([シート名]) にセル データの範囲 ([データ テーブル]) を書き込みます。
範囲を読み込み (Read Range) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定したセル範囲 ([範囲]) から値を取得します。
行を読み込み (Read Row) Microsoft Graph の GetRange API を使用して、ブック ([ブック]) のワークシート ([シート名]) 内の指定した行 ([開始セル]) からセルの値を取得します。
連携>Microsoft>
Office365>
Excel>テーブル
表の範囲を取得 (Get Table Range) Microsoft Graph の Get range API を使用して、指定したテーブルに関連付けられた範囲を取得します。
表を作成 (Create Table) Microsoft Graph の Add table API を使用して、指定された範囲からテーブルを作成します。
列を削除 (Delete Column) Microsoft Graph の Delete table column API を使用して、テーブルから列を削除します。
列を挿入 (Insert Column) Microsoft Graph の Create Column API を使用して、新しい列をテーブルに挿入します。指定した位置に存在していた列は、右方向にシフトします。
行を削除 (Delete Rows) Microsoft Graph の Delete table row API を使用して、指定した行をテーブルから削除します。
行を挿入 (Insert Rows) Microsoft Graph の Create row API を使用して、テーブルの指定した位置に行を挿入します。挿入した行の下にある行は、すべて下方向にシフトします。
連携>Microsoft>
Office365>
Outlook
メールに返信(Reply to Mail) Microsoft Graph の Create Reply API と Reply API を使用して、メール メッセージに返信します。
メールのカテゴリを設定 (Set Mail Categories) Microsoft Graph の UpdateMessage API を使用して、メッセージにカテゴリを関連付けます。
メールを削除 (Delete Mail) Microsoft Graph の DeleteMessage API を使用して、メール メッセージを削除します。
メールを取得 (Get Mail) Microsoft Graph の GetMessage および ListMessages API を使用して、指定したメールボックス ([メールボックス]) から一致するメッセージを取得します。
メールを移動 (Move Mail) Microsoft Graph の Move event message API を使用して、メッセージ ([メッセージ]) を別のメール フォルダー ([保存先フォルダー]) に移動します。
メールを転送 (Forward Mail) Microsoft Graph の Create forward および Forward event message API を使用して、1 人以上の受信者 ([宛先]) に、内容 ([本文]) を追加してメッセージ ([メッセージ]) を転送します。
メールを送信 (Send Mail) Microsoft Graph の API である CreateMessage および SendMail を使用して、メッセージ ([本文] と [件名]) を 1 人または複数の受信者 ([宛先]、[CC]、[BCC]) に送信します。
連携>Microsoft>
Office365>
Planner>タスク
タスクのリストを取得 (List Tasks) Microsoft Graph の List Tasks API を使用して、プラン内のすべてのタスクのリストを取得します。
タスクを作成 (Create Task) Microsoft Graph の CreateTask API を使用して、新しいタスクを作成します。
タスクを削除 (Delete Task) Microsoft Graph の DeleteTask API を使用して、既存のタスクを削除します。
タスクを取得 (Get Task) Microsoft Graph の GetTask API を使用して、既存のタスクを取得します。
タスクを更新 (Update Task) Microsoft Graph の UpdateTask API を使用して、既存のタスクを変更します。
連携>Microsoft>
Office365>
Planner>パケット
バケットのタスクのリストを取得 (List Bucket Tasks) Microsoft Graph の ListBucketTasks API を使用して、特定のバケット内のすべてのタスクをリスト表示します。
バケットのリストを取得 (List Buckets) Microsoft Graph の List plan buckets API を使用して、プラン内のすべてのバケットを表示します。
バケットを作成 (Create Bucket) Microsoft Graph の CreateBucket API を使用して、プラン内に新しいバケットを作成します。
バケットを削除 (Delete Bucket) Microsoft Graph の DeleteBucket API を使用して、既存のバケットを削除します。
連携>Microsoft>
Office365>
Planner>プラン
プランのリストを取得 (List Plans) Microsoft Graph の List plans API を使用して、指定したユーザー グループのプランをすべて表示します。
プランを作成 (Create Plan) Microsoft Graph の CreatePlan API を使用して、新しいプランを作成します。
プランを取得 (Get Plan) Microsoft Graph の GetPlan API を使用して、ID によりプランを取得します。
連携>Microsoft>
Office365>
SharePointリスト
リスト アイテムを削除(Delete List Item) Microsoft Graph の Delete item API を使用して、指定したリスト アイテムを削除します。
リストの項目を更新(Update List Item) Microsoft Graph の Update item API を使用して、指定したリスト アイテムを更新します。
リスト アイテムを追加(Add List Items) Microsoft Graph の Create item API を使用して、指定した SharePoint リストに 1 つ以上のリスト アイテムを追加します。
リストの情報を取得(Get List Info) Microsoft Graph の Get list API を使用して、指定した SharePoint リストに関する情報を取得します。
繰り返し (各リスト アイテム)(For Each List Item) Microsoft Graph の Get items API を使用して、指定した SharePoint リスト内の各リスト アイテムに対して 1 つまたは一連のアクティビティを実行します。
繰り返し (各リスト)(For Each List) Microsoft Graph の Get lists および Get list API を使用して、指定した SharePoint サイト内の各リストに対して 1 つまたは一連のアクティビティを実行します。
連携>Microsoft>
Office365>
グループ
グループを作成 (Create Group)(Create Group) Microsoft Graph の CreateGroup API を使用して、新しいユーザー グループを作成します。
グループを削除 (Delete Group)(Delete Group) Microsoft Graph の DeleteGroup API を使用して、ユーザー グループを削除します。
グループを取得 (Get Group) Microsoft Graph の GetGroup API を使用してユーザー グループを見つけます。
グループ リストを表示 (List Groups) Microsoft Graph の ListGroups API を使用して、すべてのユーザー グループを表示します。
連携>Microsoft>
Office365>
ファイル
OneDrive と SharePoint を使用(Use OneDrive & SharePoint) OneDrive や SharePoint オートメーションで使用するアカウントを選択します。このアクティビティの追加後、OneDrive や SharePoint 上のファイルを使用するアクティビティを [OneDrive と SharePointを使用] アクティビティに追加します。
ファイル/フォルダーをコピー(Copy File/Folder) Microsoft Graph の Copy item API を使用して、ファイルまたはフォルダーのコピーを作成し、それを同じ親フォルダーまたは新しい親フォルダー ([コピー先フォルダー]) に追加します。
ファイル/フォルダーを共有(Share File/Folder) Microsoft Graph の Create sharing link および Add permissions API を使用して、ファイルまたはフォルダーの DriveItem を指定した受信者と共有します。
ファイル/フォルダーを削除(Delete File/Folder) Microsoft Graph の Delete item API を使用して、OneDrive または SharePoint サイト内の指定したファイルまたはフォルダー ([DriveItem]) を削除します。
ファイル/フォルダーを取得(Get File/Folder) Microsoft Graph の GetItem API を使用して、既知の ID ([アイテム ID]) で指定したアイテムのメタデータを取得します。
ファイル/フォルダーを移動(Move File/Folder) Microsoft Graph の Move item API を使用して、指定したファイルまたはフォルダーを、新しい親フォルダー ([移動先フォルダー]) に移動します。
ファイルやフォルダーを探す (Find Files And Folders) Microsoft Graph の Search items API と Shared files API を使用して、検索パラメーター ([クエリ]) の値に一致する、ファイル、メタデータ、コンテンツのいずれか (または、すべて) を検索します。
ファイルを PDF としてエクスポート(Export File as PDF) Microsoft Graph の ConvertContent API を使用して、OneDrive または SharePoint ファイルを PDF に変換し、ローカルの場所に保存します。
ファイルをアップロード (Upload File) Microsoft Graph の Resumable upload API を使用して、ローカル ファイルを OneDrive または SharePoint アカウントにアップロードします。
ファイルをダウンロード (Download File) Microsoft Graph の Download file API を使用して、OneDrive または SharePoint サイトで指定したファイルをローカルの場所にダウンロードします。
フォルダーを作成 (Create Folder) Microsoft Graph の CreateFolder API を使用して、指定した親ディレクトリ ([保存先フォルダー]) 内に、新しいフォルダー ([フォルダー名]) を作成します。
繰り返し (ファイル/フォルダー)(For Each File/Folder) Microsoft Graph の Microsoft Search API を使用して、フィルター条件に一致する各ファイル/フォルダーに対して、1 つまたは一連のアクティビティを実行します。
連携>Microsoft>
Office365>
予定表/カレンダー
イベント/予定を作成 (Create Event) Microsoft Graph の CreateEvent API を使用して、指定した予定表 ([予定表]) に新しいイベントを作成します。
イベント/予定を削除 (Delete Event) Microsoft Graph の DeleteEvent API を使用して、指定したイベント ([イベント]) を削除します。
イベント/予定を変更 (Modify Event) Microsoft Graph の UpdateEvent API を使用して、既存のイベント ([イベント]) を変更します。
イベント/予定を検索 (Search Events) Microsoft Graph の ListEvents API を使用して、指定した予定表 ([予定表]) から、一致するイベントを取得します。
予定表を取得 (Get Calendars) Microsoft Graph の GetCalendar API を使用して、予定表のプロパティと関係を取得します。
会議日時を検索 (Find Meeting Times) Microsoft Graph の FindMeetingTimes API を使用し、開催者と出席者 ([出席者]) の空き時間、および指定した会議開催時刻の範囲 ([期間の開始時刻]、[期間の終了時刻]、[会議の長さ]) に基づいて、会議の日時と場所を提案します。
出席者を追加 (Add Attendee) Microsoft Graph の UpdateEvent API を使用して、指定したイベント ([イベント]) に出席者 ([メール アドレス] と [名前]) を追加します。
出欠確認 (RSVP) Microsoft Graph の Accept event、Decline event、Tentatively accept の各 API を使用して、指定したイベント ([イベント]) に返信 ([返信]) します。
場所を追加 (Add Location) Microsoft Graph の UpdateEvent API を使用して、指定したイベント ([イベント]) に場所 ([会議室のメール アドレス] と [表示名]) を追加します。
添付ファイルを追加 (Add Attachment) Microsoft Graph の AddAttachment API を使用して、指定したイベント ([イベント]) に添付ファイル ([ファイル パス]) を追加します。

 

Microsoft Office 365 スコープによる認証

動作のしくみと設定手順概要

「Microsoft Office 365 スコープ (Microsoft Office 365 Scope)」の動作のしくみは、このリンク先を参照してください。

設定手順の概要は以下の通りです。

  1. AzureADでアプリケーションを登録する
  2.  1で作成したアプリケーションにAPIのアクセス許可を追加する
  3. UiPathStudioで、プロジェクト(プロセス)内に 「Microsoft Office 365 スコープ」を配置する。
  4.  「Microsoft Office 365 スコープ」のプロパティへ[認証]と認証方法に応じて値を入力する。
  5.  「Microsoft Office 365 スコープ」内に「連携>Microsoft>Office365」 配下のアクティビティを追加する

 

認証方法の種類

Microsoft Office 365 スコープ」の認証方法は、下表の通り5種類あります。

No 認証の種類 有人ロボット(Attended) 無人ロボット(Unattended) 備考
1 対話型トークン(InteractiveToken)
2 統合 Windows 認証(IntegratedWindowsAuthentication)
3 ユーザー名とパスワード(UsernameAndPassword) 非推奨
4 アプリケーション ID とシークレット(ApplicationIdAndSecret)
5 アプリケーション ID および証明書(ApplicationIdAndCertificate)

 

エフペン
エフペン
この記事では、No1「対話型トークン(InteractiveToken)」とNo4「アプリケーション ID とシークレット(ApplicationIdAndSecret)」の使用方法を説明します。

 

対話型トークン(InteractiveToken)

AzureADでアプリ登録

UiPathのドキュメントのMicrosoft Office 365セットアップのアプリケーションを登録するの通り、AzureADでアプリを登録します。

 

アプリの登録手順

(1)AzureポータルをWebブラウザでで開き、サインインする

 

(2) [Azure Active Directory]をクリックする

 

(3) [アプリの登録]をクリックする

 

(4) [新規登録]をクリックする

 

(5) 名前に任意の名前(例:Office365App)を入力し、[登録]をクリックします。
※環境によって、[サポートアカウントの登録]、[リダイレクトURL]を選択や入力します。

 

APIのアクセス許可の追加手順

(1) [APIのアクセス許可]をクリックする

 

(2) [アクセス許可の追加]をクリックする

 

(3) [Microsoft Grah]をクリックする

 

(4) [委任されたアクセス許可]をクリックする

 

(5) 「Calender」を入力し、[Calendars.Read],[Calendars.ReadWrite]を選択する。

 

(6) 「Files」を入力し、[Files.Read],[Files.Read.All],[Files.ReadWrite],[Files.ReadWrite.All]を選択する。

 

(7) 「Sites」を入力し、[Sites.Read.All],[Sites.ReadWrite.All]を選択する

 

(8) 「Mail」を入力し、[Mail.Read],[Mail.ReadWrite],[Mail.Send]を選択する

 

(9) 「Shared」を入力し、[Mail.Read.Shared],[Mail.ReadWrite.Shared],[
Mail.Send.Shared],[Calendars.Read.Shared],[Calendars.ReadWrite.Shared]を選択する

 

(10) [アクセス許可の追加]をクリックする

 

(11) 作成したアクセス許可が追加されていることを確認する

 

(12) [概要]をクリックする

 

(13) 「Microsoft Office 365 スコープ」の設定で使用するため、アプリケーション(クライアント)IDとディレクトリ(テナント)をメモ帳などにコピーする。

 

 

プロジェクトをビルドする

UiPathStudioで新規もしくは既存のプロジェクトを開き、「Microsoft Office 365 スコープ」とOffice365アクティビティを配置します。

 

プロジェクトの作成とアクティビティの配置手順

エフペン
エフペン
この手順では、対話型トークンで認証しOffice365のメールを送信します。

(1) Office365アクティビティパッケージのインストールの章の手順通り、アクティビティパッケージをインストールする

 

(2) 検索窓に「Ofice365」を入力し、[Microsoft Office 365 スコープ]をドロップします

 

(3) [Microsoft Office 365 スコープ]のプロパティに下表の値を設定します。

設定項目 設定値 備考
共通 タイムアウト(ミリ秒) 3*60*1000 初回実行時に認証ダイアログへ入力する必要があるので、既定の30秒より長い時間を推奨します。今回は3分(3*60*1000)を設定します。未入力の場合は既定の30秒になります。
認証 アプリケーションID “e07*****-****-****-****-*****f75e94a” AzureADのアプリのアプリケーション(クライアント)IDからコピーします。
サービス Mail 使用するアクティビティに応じて、サービスを選択します。今回はメールを使用するため、Mailを選択
テナント “a88*****-****-****-****-*****934827f” AzureADのアプリのディレクトリ(テナント)IDからコピーします。
認証の種類 Interactive Token 対話型トークンを使用するため、Interactive Tokenを選択します。

 

 

(4) [メールを送信]を「Microsoft Office 365 スコープ」内にドロップします。

 

(5) 送信先にString[] 型でメールアドレス、件名にメールの件名、本文にメッセージ本文を設定します。

 

(6) プロセスを実行します。

 

(7) 初回実行時、サインインを求められるので、メールを送信するユーザを入力して、[次へ]をクリックします

 

(8) パスワードを入力し、[サインイン]をクリックします。

 

(9) 出力パネルを見て、正常に終了したことを確認します。

 

(10) Office365のOutlookの送信済みアイテムに先ほど送信したメールがあることを確認します。

 

認証ファイル

エフペン
エフペン
一度Office365で認証すると2回目以降の実行では、前回ログインしたユーザが自動的に認証されます。
ラッコくん
ラッコくん
再度認証ダイアログを表示させたい場合は、「C:\Users\<ユーザ名>\AppData\Roaming\UiPath\authentication」にあるファイルを削除するよ

 

アプリケーション ID とシークレット(ApplicationIdAndSecret)

UiPathのドキュメントのMicrosoft Office 365セットアップのアプリケーションを登録するの通り、AzureADでアプリを登録します。

 

アプリの登録手順

(1)AzureポータルをWebブラウザでで開き、サインインする

 

(2) [Azure Active Directory]をクリックする

 

(3) [アプリの登録]をクリックする

 

(4) [新規登録]をクリックする

 

(5) 名前に任意の名前(例:O365AppID)を入力し、[登録]をクリックします。
※環境によって、[サポートアカウントの登録]、[リダイレクトURL]を選択や入力します。

 

APIのアクセス許可の追加手順

(1) [APIのアクセス許可]をクリックする

 

(2) [アクセス許可の追加]をクリックする

 

(3) [Microsoft Grah]をクリックする

 

(4) [アプリケーションの許可]をクリックする

 

(5) 「Calendars」を検索窓に入力し、[Calendars.Read],[Calendars.ReadWrite]を入力する

 

(6) 「Files」を検索窓に入力し、[Files.Read],[Files.ReadWrite]を選択します

 

(7) 検索窓に「Sites」を入力し、[Sites.Read.All],[Sites.ReadWrite.All]を選択します

 

(8) 検索窓に「Mail」を入力し、[Mail.Read],[Mail.Read],[Mail.Send]を選択し、[アクセス許可の追加]をクリックします

 

(9) [**に管理者の同意を与えます]をクリックする

 

(10) [はい]をクリックします

 

(11) 各APIアクセス権が[**に付与されました]に変更されていることを確認する

 

 

認証、証明書とシークレットの設定手順

エフペン
エフペン
対話型トークンと違い、アプリケーション ID とシークレットは、追加で「パブリック クライアント フローを許可する」と「クライアントシークレット」を設定する必要があるので、下記手順で設定や作成を行います。

(1) 作成したアプリの[認証]をクリックする

 

(2) [パブリック クライアント フローを許可する] を「はい」選択する

 

(3) [保存]をクリックする

 

(4) [証明書とシークレット]をクリックする

 

(5) [新しいクライアント シークレット]をクリックする

 

(6) 説明に任意のクライアントシークレット名(例:O365ClientSecretID)を入力し、有効期限を指定したい有効期限を選択し、[追加]をクリックします

 

(7) 開発するプロセスの「Microsoft Office 365 スコープ」アクティビティに後で設定するため、値とシークレットIDをメモ帳などにコピーしておきます。

 

 

 

プロジェクトをビルドする

UiPathStudioで新規もしくは既存のプロジェクトを開き、Office365アクティビティパッケージのインストールの章の手順通り、アクティビティパッケージをインストールした上で、「Microsoft Office 365 スコープ」とOffice365アクティビティを配置します。

 

サンプルプロセス
SharePointOnlineのドキュメントのリスト内を検索し、検索結果の最初のアイテム名をログメッセージへ表示する

・検索対象のSharePointOnlineのドキュメントサイト

 

・プロセス

 

・変数の設定

ラッコくん
ラッコくん
DriveItem型は、型の参照で「Microsoft.Graph.DriveItem」を検索してね。
エフペン
エフペン
SecureString型は、型の参照で「System.Security.SecureString」を検索してください。

 

・「代入 secure string」のプロパティ

エフペン
エフペン
NetworkCredential コンストラクターを使用して、クライアント シークレットの値をセキュアストリングへ変換します。

 

・「Microsoft Office 365 スコープ」のプロパティ

設定項目 設定値 備考
アプリケーションIDおよびシークレット(無人) アプリケーションシークレット “f2c9****-****-****-****-*****ee73578” クライアント シークレットで作成したシークレットIDを設定します。
セキュリティで保護されたアプリケーション シークレット scPassword クライアント シークレットで作成したシークレットIDの値のセキュアストリングを設定します。
認証 アプリケーションID “e07*****-****-****-****-*****f75e94a” AzureADのアプリのアプリケーション(クライアント)IDを設定します。
サービス Files 使用するアクティビティに応じて、サービスを選択します。今回はフォルダを検索するため、Fileを選択
テナント “a88*****-****-****-****-*****934827f” AzureADのアプリのディレクトリ(テナント)IDからコピーします。
認証の種類 ApplicationAndSecret アプリケーションとシークレットIDを設定します。

 

 

・「ファイルやフォルダーを探す」プロパティ

設定項目 設定値 備考
Sharepoint サイトURL “https://*****.sharepoint.com/sites/spo-test001” 検索対象のサイトURL
ドライブ名 “ドキュメント” 検索対象のリスト名
入力 クエリ “folder” 検索クエリ
出力 最初 drFirstItem 最初に検索されたDriveItem

 

 

・「メッセージをログ」をプロパティ

ラッコくん
ラッコくん
DriveItem リソース型は、.Nameでアイテムの名前を取得します。

 

・実行結果のログ

 

・コピペ用

(New System.Net.NetworkCredential("","oOq7Q~*********wB.r2nudq**********0d-")).SecurePassword
"検索結果のフォルダ名: "+drFirstItem.Name

 

 

OneDrive と SharePoint による認証

Microsoft Office 365 スコープ (Microsoft Office 365 Scope)」と違い「OneDrive と SharePoint を使用(Use OneDrive & SharePoint)」は、AzureADの設定は不要です。

UiPathStudioで「OneDrive と SharePoint を使用」アクティビティ内に「連携>Microsoft>Office365>ファイル」のアクティビティを配置することで、Office365内のファイルやフォルダを操作出来ます。

 

プロジェクトの作成とアクティビティの配置手順

エフペン
エフペン
この手順では、「OneDrive と SharePointを使用」で認証しOneDriveの直下にフォルダを作成します。

(1) Office365アクティビティパッケージのインストールの章の手順通り、アクティビティパッケージをインストールする

 

(2) 「OneDrive と SharePoint を使用」アクティビティをドロップします。

 

(3) アカウントの[新しいアカウントを追加]をクリックする

 

(4) [OK]をクリックする

 

(5) Office365へログインするユーザを入力し、[次へ]をクリックする

 

(6) パスワードを入力し、[サインイン]をクリックする

 

(7) 入力したユーザがアカウントに表示されていることを確認する

 

(8) [フォルダーを作成]を実行の中にドロップする

 

(9) フォルダー名に作成するフォルダ名を入力する

 

(10) [ファイルをデバック]をクリックする

 

(11) [出力]で正常に終了したことを確認する

 

(12) Office365のログインしたユーザのOneDrive直下にフォルダが作成されていることを確認する

 

認証ファイル

エフペン
エフペン
一度Office365で認証すると2回目以降の実行では、前回ログインしたユーザが自動的に認証されます。
ラッコくん
ラッコくん
再度認証ダイアログを表示させたい場合は、「C:\Users\<ユーザ名>\AppData\Roaming\UiPath\authentication」にあるファイルを削除するよ
エフペン
エフペン
「Microsoft Office 365 スコープ」と「OneDrive と SharePoint を使用」の認証ファイルは異なります。

 

まとめ

  • MicrosoftOffice365アクティビティは、Office365のWeb上での操作を自動化する際に使用する
  • 「Microsoft Office 365 スコープ」を認証に使用する場合は、連携>Microsoft>Office365 配下のアクティビティがすべて使用出来る。
  • 「OneDrive と SharePoint を使用」を認証に使用する場合、連携>Microsoft>Office365>ファイル 配下のアクティビティのみの使用可能で、、Office365上のファイルのみ操作できる

目次へ戻る

 

 関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

 同カテゴリ UiPath

 

当ブログ『エフペンITブログ』の運営者