【UiPath】Automation Cloudのグループ情報取得（Swagger編）

# １．はじめに
　オンプレOrchestratorではユーザー情報がOrchestrator APIの中にあり、管理しやすかったと感じている方も多いかと思います。一方で、Automation Cloudでは組織単位でユーザー情報が管理されているため、情報の取得が難しいと感じている方も多いかと思います。
　そんな中、Previewではありますが、グループ内に所属するユーザー情報を取得する方法が公開されているため、利用方法を確認してみたいと思います。
 　https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/api-guide/get-specific-group#example-request

# ２．前提条件
　今回はSwaggerより、利用する方法を説明していきますが、以下のような条件を満たしている必要があります。（2024年3月29日現在）
　　・操作ユーザーがAutomation CloudのAdministratorグループに所属している

　また、想定しているペルソナは以下となります。
 　　・Automation Cloudのグループ管理をしている方、したい方
   　　・API操作（Swagger含む）を理解している方、したい方

# ３．利用方法
### ３．１．利用に必要な情報
**【利用に必要な情報】**
　利用にあたって必要な情報としては以下の通りとなります。
| 必要情報 | 説明 |
| :--- | :--- |
| partitionGlobalId | Automation Cloudの組織を一意に識別するための識別用グローバルIDとなります。 |
| groupId | Automation Cloudの組織内で一意に識別するためのグループIDとなります。 |
| token | Automation Cloudにアクセスするためのアクセストークンとなります。<br>本トークンにより認可されたリソースにアクセスすることができます。 |

### ３．２．必要情報の取得方法
#### 【partitionGlobalIdの場合】
　①通常通りブラウザからAutomation Cloudに接続します。（ログイン済み）
　②「開発者ツール」を起動します。
　　　Chromeの場合：「右上三点リーダー」-「その他のツール」-「デベロッパー ツール」
　　　Edgeの場合　：「右上三点リーダー」-「その他のツール」-「開発者ツール」
　　　※キーボードショートカット「Ctrl + Shift + i」押下により起動することも可能です。
　③開発者ツールのタブから「Network（ネットワーク）」を開きます。
　　※Edgeではアイコンで表示されているので、わかりづらい部分があるので、ご注意ください。
　④Automation Cloudの「管理」に移動します。
　⑤「開発者ツール」内の左上にある「Search（検索）」欄に「partitionGlobalId」を入力し、検索します。（Chromeの場合は隣にある「更新」ボタンをクリックします。）
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/2c4eec24-3e26-d05d-9512-44f6265eb21a.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/6b80ab94-ad84-6b09-70e0-9e584115428d.png)

　⑥パス「 ~~CisKmsConfig~~ **identity/Setting?partitionGlobalId**」を探し、リクエストに「partitionGlobalId」が入っているものを選択します。（**2025年1月28日動作変更に伴い検索キーの説明のみ一旦変更**）
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/dea84f4b-e140-d3fd-33f8-8c67cbfb47b7.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/bf8298e8-7731-fa31-8ad7-64eb08c1d868.png)

　⑦「Request Headers（リクエスト ヘッダー）」内の「path」から「partitionGlobalId」パラメーターの後ろにある値（=より後ろの値）を取得します。これが「partitionGlobalId」になります。
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/1979f2d4-6153-cfc7-338e-cbc5e288ac57.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/18d99c17-9efd-b067-fcc8-182e7b3cf2f0.png)


#### 【groupIdの場合】
　①通常通りブラウザからAutomation Cloudに接続します。（ログイン済み）
　②Automation Cloudの「管理」に移動します。
　③「アカウントとグループ」に移動します。
　④「グループ」タブに移動します。
　⑤情報を取得したいグループの「編集」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/d4d0c29c-4cd4-b24f-d107-23c2101be424.png)

 ⑥ブラウザのURLに「groupId」が表示されるため、「…/edit/」の後ろにある値（/より後ろの値）を取得します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/814b380f-664b-f5bb-4043-6d599a394da3.png)
 
:::note info
APIにより一覧でgroupIdを取得する方法としては以下のURLを参考に取得することが可能となります。
https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/api-guide/get-all-groups
:::

#### 【tokenの場合】
　①「partitionGlobalId」の場合と同じ手順で⑤「開発者ツール」内の左上にある「Search（検索）」欄に「~~CisKmsConfig~~ **identity/Setting?partitionGlobalId**」を入力し、検索します。（Chromeの場合は隣にある「更新」ボタンをクリックします。）（**2025年1月28日動作変更に伴い検索キーの説明のみ一旦変更**）
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/eca3de43-e06f-3b72-4b5a-d5698496e79c.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/2c8e8809-8997-66ea-2412-37095d25d998.png)

　②パス「~~CisKmsConfig~~ **identity/Setting?partitionGlobalId**」を探します。（**2025年1月28日動作変更に伴い検索キーの説明のみ一旦変更**）
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/2113abf4-2caa-a93a-2133-2919ab28a2a1.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/c096ea91-1eb6-91c3-924c-69b52bfff8e0.png)

　③「Request Headers（リクエスト ヘッダー）」内の「Authorization」から「Bearer」パラメーターの後ろにある値を取得します。これが「token」になります。
**＜Chromeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/4ea03569-6591-c0f1-268c-ae99f84dac70.png)
**＜Edgeの場合＞**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/34a910b4-f33e-3bd0-1fa0-af54f4f75ace.png)

:::note info
今回のトークン取得は一時的なものであり、ワークフロー実装によりトークン取得からAPI操作は以下を参考にして頂ければと思います。
https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/api-guide/get-all-groups
また、トークンには有効期限があるため、有効期限が切れた場合は同じ手順にて再取得をしてください。
:::

### ３．３．Swaggerでの実行方法
　必要な情報が取得できたため、Swagger画面から実行をしていきたいと思います。
| 必要情報 | 値（一部マスク） |
| :--- | :--- |
| partitionGlobalId | 099xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4f |
| groupId | 35xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe7 |
| token | eyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx … xlg |

**【実行手順】**
　①ブラウザからURL「https://cloud.uipath.com/identity_/swagger/index.html」にアクセスをします。
　②「Authorize」をクリックし、認証情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/be048d1a-1227-d861-65e7-4c189b21aebf.png)

　③「３．２」で取得した「token」情報を入力後、「Authorize」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/8e25ce25-8e5c-3b64-223c-2820bc596f12.png)

　④「右上の×」または「Close」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/6a0c2f4a-af97-9095-bc76-8c940f498ca6.png)

　⑤Groupタグ内の「/api/Group/{partitionGlobalId}/{groupId}」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/353faaab-950c-7fe2-1682-5a6c58ed75f2.png)

　⑥「Try it out」クリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/0d05d60d-0be0-2534-7da8-a52fec23f453.png)

　⑦「partitionGlobalId」と「groupId」を入力後、「Execute」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/4c0ff6aa-b3d0-c2f2-7900-02240bf22c12.png)


**【実行結果】**
JSON形式で結果を取得して、グループにどんなユーザーが所属しているかを確認することが可能となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301393/4e658aa0-b581-79cd-f097-4f766fd8696e.png)

# ４．最後に
　APIを駆使することで、ユーザー管理が少しでも状況把握しやすいものになれば幸いです。
　本記事はあくまでも個人の見解を述べているものとなりますので、参考情報として頂ければと存じます。