0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Chrome開発者ツールを利用して、Workatoワークスペースのコラボレーター(ユーザー)のリストをJSON形式や表形式でさくっと取得する

Last updated at Posted at 2023-03-01

はじめに

期末、半期、四半期などのタイミングでWorkatoワークスペースのコラボレーター(ユーザー)の棚卸しを行う際に、現在のユーザーのリスト構造化されたデータでを取得したい場合があります。
このような場合は、次のコードをChrome開発者ツール上で実行することでJSON形式、あるいは表形式でその結果を取得することができます。
取得した結果は、Excelやスクリプト上へ読み込んで利用することができます。

手順

1. Workatoへログインします。

image.png

2. Chrome開発者ツールを開き、コンソールへ以下のコードを入力し、実行します。

コード

変数
page ページ番号
per_page 1リクエストあたりの表示件数
sortTerm ソートキー
sortDirection 昇順(asc)・降順(desc)
let baseUrl = 'https://app.workato.com/members.json';
let sortTerm = 'name';
let sortDirection = 'asc';
let perPage = 5;
let result = [];

// 合計ページ数を算出する
let url = baseUrl 
    + '?page=1'
    + '&per_page=' + String(perPage)
    + '&sort_term=' + sortTerm
    + '&sort_direction=' + sortDirection;

let res = (await (await fetch(url)).json()).result;
let totalPages = Math.ceil(res.count / perPage);

// データを取得する
for (let i = 1; i <= totalPages; i++) {
    url = baseUrl 
        + '?page=' + String(i)
        + '&per_page=' + String(perPage)
        + '&sort_term=' + sortTerm
        + '&sort_direction=' + sortDirection;

    res = (await (await fetch(url)).json()).result;
    result = result.concat(res.items);
}

// JSON形式で出力
console.log(result);

// 表形式で出力
console.table(result);

3. 出力結果を右クリックし、「objectをコピー」をクリックします。

コピーした内容がクリップボードに格納されます。コピー後、テキストエディタ等へ貼付して利用してください。
image.png

最後に

Workatoには、Workato自身を管理するためのREST APIが用意されていますが、現在のところ残念ながらユーザーリストを出力するエンドポイントが提供されていません。このため、構造化データとしてユーザーリストが必要な場合は、一例として、本ページに記載の手順で対応することになります。また、ユーザー追加・編集・削除可能なREST APIエンドポイントも、現在のところ提供されていません。

なお、WorkatoはSAML SSOによる認証に対応しており、かつSCIMによるユーザー情報の同期に対応しています。SCIMを利用することで、ユーザー追加・編集・削除はIdPで行えるようになりますし、IdPにユーザー管理のためのREST APIが用意されていれば、IdPを介してWorkatoのユーザー管理の自動化も実現することができます。よって、もしユーザー管理を効率化したいのであれば、Workatoビルトインの認証を使い続けるのではなく、SAML SSOとSCIMで対応いただくのがベターであるといえます。

※個人的には、ユーザー管理の自動化が必要な場合はSCIMで管理してほしいというのがWorkato社の答えであると、勝手に思っています。(APIによるユーザーの追加・編集・削除ができないというのも、セキュリティ面を考慮すると合理的な判断であると考えています。ただ、ユーザーのリストくらいは出力させてほしいですが・・・)

ただし、SAML SSO + SCIMな環境においても、孤立しているユーザー(IdPには存在せずWorkatoにのみ存在するユーザー)を特定する場合や、Workato上における実際のマッピング(各ユーザーがWorkatoにおいて実際にどのグループに所属していて、どのロールが割り当てられているのか)の確認を行いたい場合は、本手順は役立つと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?