Tips

ユーザーの「所属組織・グループ」をJS関数で簡単取得

 2025年8月10日のkintoneアップデートで、ログインユーザーの情報取得用APIが拡充されました。
 これまで「所属組織」や「グループ(ロール)」の取得は User API を使用する必要があり、カスタマイズの実装が少々大変でしたが、今回の新APIで、kintoneのJavaScript関数で情報を簡単に取れるようになり、実装と運用がぐっと楽になりました。

2025年10月12日のkintoneアップデートで、引数にユーザーcodeを指定することで、ログインユーザー以外のユーザーに対しても実行できるようになりました。

📢 新しく増えた関数(覚えるのは3つだけ)

  • kintone.getLoginUser(code)
    ユーザーの属性情報をまとめて取得
    ※従来の「コード/表示名」だけでなく、メール、電話、社員番号、言語・タイムゾーン等も取れます。
  • kintone.user.getOrganizations(code)
    所属組織+役職を配列で取得(「優先する組織」判定もOK)
  • kintone.user.getGroups(code)
    所属グループを取得(システム規定値everyone は除外処理を推奨)

💻 デモ画面

新しいJavascriptAPIの関数を用いてログインユーザーの情報を取得しているデモ画面です

💡 ここが便利になりました(要点)

  • 取得できるユーザー情報が拡張:メールや社員番号など、フォームへの自動セットに使いやすい情報が増えました。
  • User APIなしで所属情報が取れる:ユーザーの属性情報や所属する組織・グループの取得がJS関数の戻り値だけでシンプルに実装できるので、従来のRESTAPIの呼び出しが不要です。コード量も減り保守作業もしやすくなります。
  • API回数制限の影響外:JavaScript APIはAPI回数制限の対象外。大規模運用でも安心です。

⛳ 使いどころの例

  • 新規レコード画面で、ログインユーザーの氏名・社員番号・メールを自動入力。
  • ユーザー所属の「優先する組織」や役職を自動セットして、フィールドの表示/非表示の分岐に利用。
  • 所属グループを取得して、承認ルートや通知の条件に活用

📌 具体的な使用例

具体例として、「予算金額」フィールドの表示/非表示を、ユーザーの「優先する組織」が総務部ならば表示、そうでなければ非表示にするカスタマイズコードを、UserAPIJS関数の2通りで作成してみました。

User API版:(/v1/user/organizations.json)利用

UserAPI版のコードでは、APIのレスポンスに「優先する組織」の情報がありませんので、戻り値の組織情報を全て照合する処理が必要です。

  • ユーザー情報API(/v1/users.json)で優先する組織IDを取得する方法もありますが、API使用回数が増えて処理が冗長になるので、戻り値の組織情報を全て照合する方が合理的です。
  • ただし、総務部に所属and「優先する組織」が総務部ではないユーザーも対象になります。
  • 「優先する組織」が総務部のユーザーだけを対象にする場合は、ユーザー情報APIも必要です。

一方、ユーザーコードを指定すれば任意ユーザーの所属組織も取得できるので用途が広く、REST APIの利点を活かして、外部システム連携にも利用が可能というメリットがあります。

/* ログインユーザーが総務部なら予算金額フィールドを表示する
 * User API(/v1/user/organizations.json)版
 * Licensed under the MIT License
 ------------------------------------------------------------*/
(function () {
  "use strict";
  const EVENTS = ["app.record.create.show","app.record.edit.show","app.record.detail.show"];
  kintone.events.on(EVENTS, async (event) => {
    const loginUserCode = kintone.getLoginUser().code;
    const orgResponse = await kintone.api(kintone.api.url("/v1/user/organizations.json", true), "GET", { code: loginUserCode });
    let isShown = false;
    for (const orgItem of orgResponse.organizationTitles || []) {
      if (orgItem.organization?.name === "総務部") {
        isShown = true;
        break;
      }
    }
    kintone.app.record.setFieldShown("予算金額", isShown);
    return event;
  });
})()

新JS関数版:(kintone.user.getOrganizations)を利用

新しいJS関数版は、関数の戻り値だけで組織判定をシンプルに実装できるのがメリットです。
ポイントは10行目のJS関数版の戻り値(orgs)を操作するfindメソッド(配列の中から最初に条件を満たす要素1件を返す)です。ここで優先組織を探して、もし見つからない場合は、配列の先頭要素 orgs[0] を代わりに使うというフォールバックを1行で実現しています。
これで、コメントを含むコードのステップ数(14行)もUserAPI版のコード(21行)比較すると、7行ほど短いステップ数で作成できました。
さらにAPI利用回数制限の対象外なのが、JS関数版の最大のメリットです。

/* ログインユーザーが総務部なら予算金額フィールドを表示する
 * JS API(kintone.user.getOrganizations)版
 * Licensed under the MIT License
 ------------------------------------------------------------*/
(function () {
  "use strict";
  const EVENTS = ["app.record.create.show", "app.record.edit.show", "app.record.detail.show"];
  kintone.events.on(EVENTS, async (event) => {
    const orgs = await kintone.user.getOrganizations(); // 新しいJavascriptAPI関数
    const isShown = (orgs.find(o => o.organization?.primary) ?? orgs[0])?.organization?.name === "総務部";
    kintone.app.record.setFieldShown("予算金額", isShown);
    return event;
  });
})();
スポンサーリンク

🎯 まとめ

新APIで、ログインユーザーの属性・所属・グループをJSだけで安全に・手軽に扱えるようになりました。
条件分岐(表示/非表示・通知・承認)の実装がシンプルになり、RESTの回数制限も気にせず使えます。
ユーザーの所属する組織やグループに応じて処理を分岐する機能を実装するのが便利になりました。


🔨自分でカスタマイズしてみたい方へ

以下のNote記事で本記事のカスタマイズ事例を紹介しています。
記事内で紹介しているカスタマイズコードは、無料で利用できるので是非挑戦してみて下さい。

ユーザーの情報・組織・グループを取得するJS関数|アプリ活用研究会(キン活)
新しいAPIの紹介 2025年8月10日に、kintoneの新APIが沢山リリースされました。 中でも便利な機能が、下記のJavascriptAPI(関数)だと思います。 ①ログインユーザーの情報取得 関数名:kintone.getLoginUser() ②ログインユーザーが所属する組織を取得する 関数名:kintone.user.getOrganizations() ③ログインユーザーが所属するグループを取得する 関数名:kintone.user.getGroups() 便...
ユーザー情報取得JSの機能拡張(引数codeでユーザー指定可能)|アプリ活用研究会(キン活)
ユーザー情報取得APIのアップデート 2025年10月12日のアップデートで、kintoneのユーザー情報取得のJavaScript APIが機能拡張されました。 これまでログインユーザーの情報取得に限定されていた3種類のAPIが、引数にユーザーCODEを指定することで、任意のユーザーの情報も取得できるようになりました。 kintone.user.getOrganizations(code) 任意のユーザーの所属組織を取得 kintone.user.getGroups(cod...

🌸 アプリテンプレートの販売

本記事でご紹介しているアプリテンプレートを、下記の料金プランで販売しています。
導入をご希望の方は、各プランの「お申込み/お問い合わせ」ボタンからお問い合わせください。

料金プラン

◆単品販売(買取型)は、導入サポート付きの価格です。
 単品動作タイプは60,000円、2アプリ連携タイプは100,000円、3つ以上連携タイプは150,000円です。
◆簡易サポート契約では、当サイトのアプリテンプレートとプラグインを合計6種類までご利用できます。
◆会員サポート契約では、ご利用範囲「無制限」で運用ヘルプデスク対応までフルサービスでご提供します。

項目 単品販売 簡易サポート 会員サポート
料金体系 60,000円 (税抜) 120,000円 (税抜) 360,000円 (税抜)
契約期間 なし 毎年更新 6か月更新
導入サポート
メールサポート ×
チャットサポート ×
バージョンアップ対応 ×
運用ヘルプデスク対応 × ×
商品のご利用範囲 本商品のみ 6種類までご利用可能
ユーザー数10名まで
無制限
ユーザー数30名まで
お問い合わせ/お申し込み 購入する お申込み

🏫 kintone人材育成研修

この様なカスタマイズを自分で出来る様になりたい方は、当サイトの「Kintome人材育成」上級コースの受講をご検討して下さい。当サイトのTIPSで紹介しているカスタマイズ例のテンプレートを使えば、簡単に実装出来ます!
上級コースの受講者には、特典で当サイトのカスタマイズテンプレート(3種類まで)と3か月のサポート契約を無償でご提供しています。

研修目的を「カスタマイズテンプレートのアプリ導入」とする研修メニューもご提案可能です。

📣カスタマイズ・導入支援いたします!

本記事の様な「kintoneアプリのカスタマイズ」をご希望の企業様へ
kintoneを便利に活用できるカスタマイズと運用支援は、ぜひ当社にご相談ください!

#kintone #Javascript #カスタマイズ

スポンサーリンク
シェアする

事例紹介

ACHIEVEMENTS
製造業の受注データ管理をエクセルから移行
エクセルマクロの作業日報をKintoneに移行

Tips

TIPS
kintone業務活用
レコード一覧表の一部を「見せない」改善事例
kintone業務活用
kintoneカレンダーに月・週・日のビュー切替機能を実装
kintone
kintoneの「うっかり操作」を防止する新規APIの紹介
補助金の活用についてもご相談ください

中小企業のデジタル化に利用できる補助金や助成金があります。
補助金や助成金は申請できる企業や用途に要件があったり、事業計画書を作成する必要があったりします。
必要な手続きをサポートさせていただきますので、お気軽にご相談ください。

お気軽にご相談ください。

オンライン可
無料相談
デジタル化
診断チャート
簡易診断

デジタル化による
コスト削減効果を算出