---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideUser - クライアント

# GlideUser - クライアント {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：7分

GlideUser API は、現在のユーザーと現在のユーザーロールに関する情報にアクセスするメソッドを提供します。この API を使用すると、ユーザー情報を取得するために低速な GlideRecord クエリを使用する必要がなくなります。

GlideUser のメソッドとプロパティには、クライアントスクリプトでのみ利用可能なグローバルオブジェクト (`g_user`) を介してアクセスします。  
この API は、次のことを行います。

* 現在のユーザーに関する名前とロールの情報が入っている
* 通常はクライアントスクリプトと UI ポリシーで使用されるが、クライアントで実行される UI アクションでも使用される
* サーバーで実行されるビジネスルールまたは UI アクションでは使用できない
{#c_GlideUserAPI__ul_bqz_wch_vs}

現在のユーザーと現在のユーザーロールに関するセッション情報は、クライアント (Web ブラウザー) に入っています。getClientData() を除くすべての GlideUser メソッドは、デフォルトで利用可能なセッション情報にアクセスします。getClientData() メソッドを使用するには、サーバーでセットアップし、putClientData() メソッドを使用してセッション情報を使用可能にする必要があります。

クライアントサイドスクリプトの使用方法については、「[クライアントサイドスクリプトの概要](https://developer.servicenow.com/dev.do#!/learn/courses/sandiego/app_store_learnv2_scripting_rome_scripting_in_servicenow/app_store_learnv2_scripting_rome_client_side_scripting/app_store_learnv2_scripting_rome_introduction_to_client_side_scripting)」を参照してください。

## GlideUser - firstName {#ariaid-title2}

現在のユーザーの名。
{#r_GlideUserFirstName__table_yrj_5fh_vs__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| firstName | 文字列 | 現在のユーザーの名。 |
[表 : 1. フィールド]

{#r_GlideUserFirstName__table_yrj_5fh_vs}  

    alert('first name = ' + g_user.firstName);

## GlideUser - getClientData(文字列 key) {#ariaid-title3}

setClientData() または GlideSession --putClientData() を使用して設定されたクライアントの値を返します。
セッションクライアントデータは、 [GlideSession -- putClientData()](https://servicenow-prod.fluidtopics.net/Ld0pCI_x0X75~T8T7aovNQ#c_GlideSessionScopedAPI "スコープ付き GlideSession API は、現在のセッションに関する情報を検索するメソッドを提供します。") を使用してサーバー上でセットアップできる名前付き文字列のセットです。フォームのロード時に getClientData() を使用して、フォームに関する決定を行う際にクライアントスクリプトで必要な情報を取得できます。たとえば、表示すべきフィールドの特定などです。

「[GlideForm](https://servicenow-prod.fluidtopics.net/iZXkMKU701Cuwf8ZI0XoLA#c_GlideFormAPI "GlideForm API はフォームをカスタマイズするメソッドを提供します。")」も参照してください。
{#r_GlideUser-getClientData_string__table_nv5_3k3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| key | 文字列 | 取得するクライアントデータの名前。 |
[表 : 2. パラメーター]

{#r_GlideUser-getClientData_string__table_nv5_3k3_ws} {#r_GlideUser-getClientData_string__table_ov5_3k3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | クライアントデータの値。 |
[表 : 3. 返される内容]

{#r_GlideUser-getClientData_string__table_ov5_3k3_ws}  

    var loginLanguage = g_user.getClientData("loginlanguage");

## GlideUser - getFullName() {#ariaid-title4}

現在のユーザーの名と姓を返します。
{#r_GlideUser-getFullName__table_pvh_cm3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

{#r_GlideUser-getFullName__table_pvh_cm3_ws} {#r_GlideUser-getFullName__table_qvh_cm3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 現在のユーザーのフルネーム。 |
[表 : 5. 返される内容]

{#r_GlideUser-getFullName__table_qvh_cm3_ws}  

    var formalName = g_user.getFullName();

## GlideUser - hasRole(文字列 role, ブーリアン includeDefaults) {#ariaid-title5}

現在のユーザーが指定されたロールか admin ロールを持つ場合、true を返します。
{#r_GlideUser-hasRole_String__table_p1w_4m3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ロール | 文字列 | チェック対象のロール。 |
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 [Exploring user administration](https://www.servicenow.com/docs/access?context=exploring-user-administration&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)」を参照してください。 デフォルト値：false |
[表 : 6. パラメーター]

{#r_GlideUser-hasRole_String__table_p1w_4m3_ws} {#r_GlideUser-hasRole_String__table_q1w_4m3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーが指定されたロールか admin ロールを持つ場合に true を返し、そうでない場合は false を返します。 |
[表 : 7. 返される内容]

{#r_GlideUser-hasRole_String__table_q1w_4m3_ws}  

    var isInternal = g_user.hasRole('snc_internal', true);

    var isItil = g_user.hasRole('itil');

## GlideUser - hasRoleExactly(文字列 role, ブーリアン includeDefaults) {#ariaid-title6}

現在のユーザーに指定されたロールがあるかどうかを判別します。
{#r_GlideUser-hasRoleExactly_String__table_r53_hn3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールに関するその他の詳細については、 [明示的なロール](https://www.servicenow.com/docs/access?context=explicit-roles&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)。 デフォルト値：false |
| ロール | 文字列 | チェック対象のロール。 |
[表 : 8. パラメーター]

{#r_GlideUser-hasRoleExactly_String__table_r53_hn3_ws} {#r_GlideUser-hasRoleExactly_String__table_s53_hn3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーが指定されたロールを持つ場合は true を返します。 |
[表 : 9. 返される内容]

{#r_GlideUser-hasRoleExactly_String__table_s53_hn3_ws}  

    var isInternal = g_user.hasRoleExactly('snc_internal', true);

    var isItil = g_user.hasRoleExactly('itil');

## GlideUser - hasRoleFromList(文字列 role, ブーリアン includeDefaults) {#ariaid-title7}

現在のユーザーが指定されたロールを 1 つ以上持つか admin ロールを持つ場合、true を返します。
{#r_GlideUser-hasRoleFromList_String__table_oxf_wn3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| roles | 文字列 | チェック対象のロールのカンマ区切りリスト |
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 [Exploring user administration](https://www.servicenow.com/docs/access?context=exploring-user-administration&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)」を参照してください。 デフォルト値：false |
[表 : 10. パラメーター]

{#r_GlideUser-hasRoleFromList_String__table_oxf_wn3_ws} {#r_GlideUser-hasRoleFromList_String__table_pxf_wn3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーがリスト内のロールか admin ロールを持つ場合、true を返します。 |
[表 : 11. 返される内容]

{#r_GlideUser-hasRoleFromList_String__table_pxf_wn3_ws}  

    var isOK = g_user.hasRoleFromList("itil, maint");

    var isOK = g_user.hasRoleFromList("itil, maint, snc_internal", true);

## GlideUser - hasRoles(ブーリアン includeDefaults) {#ariaid-title8}

現在のユーザーが何らかのロールを持つ場合は true を返します。
{#r_GlideUser-hasRoles__table_ups_k43_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| includeDefault | ブーリアン | オプション。snc_internal や snc_external などのデフォルトのロールを要求に含めるかどうかを示すフラグ。ロールの詳細については、「 [Exploring user administration](https://www.servicenow.com/docs/access?context=exploring-user-administration&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US)」を参照してください。 デフォルト値：false |
[表 : 12. パラメーター]

{#r_GlideUser-hasRoles__table_ups_k43_ws} {#r_GlideUser-hasRoles__table_vps_k43_ws__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーが 1 つ以上のロールを持つ場合は true を返します。 |
[表 : 13. 返される内容]

{#r_GlideUser-hasRoles__table_vps_k43_ws}  

    var yesRole = g_user.hasRoles();

    var yesRole = g_user.hasRoles(true);

## GlideUser - lastName {#ariaid-title9}

現在のユーザーの姓。
{#r_GlideUserLastName__table_g2n_dgh_vs__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| lastName | 文字列 | 現在のユーザーの姓。 |
[表 : 14. フィールド]

{#r_GlideUserLastName__table_g2n_dgh_vs}  

    alert('last name = ' + g_user.lastName);

## GlideUser - setClientData(文字列 key, 文字列 value) {#ariaid-title10}

getClientData() を使用して取得できるクライアント値を設定します。
「[GlideForm](https://servicenow-prod.fluidtopics.net/iZXkMKU701Cuwf8ZI0XoLA#c_GlideFormAPI "GlideForm API はフォームをカスタマイズするメソッドを提供します。")」も参照してください。
{#r_GlideUser-setClientData_S_S__table_nv5_3k3_ws__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| key | 文字列 | キーとして保存するクライアントデータの名前。 |
| value | 数字 | キーにアサインする値。 |
[表 : 15. パラメーター]

{#r_GlideUser-setClientData_S_S__table_nv5_3k3_ws} {#r_GlideUser-setClientData_S_S__table_ov5_3k3_ws__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 16. 返される内容]

{#r_GlideUser-setClientData_S_S__table_ov5_3k3_ws}  

    function onSubmit() {
    	
    	if (!g_user.getClientData('keyName')) {
    		var now_GR = new GlideRecord('incident');
    		now_GR.addActiveQuery();
    		now_GR.setLimit(1);
    		now_GR.query(cb);
    		return false;
    	}
    	return true;
    }

    function cb(now_GR) {
    	// <insert glide operation >
    	g_user.setClientData('keyName', now_GR.getValue('<number>'));
    	g_form.submit();	
    }

## GlideUser - userName {#ariaid-title11}

現在のユーザーのユーザー名 (例:gsmith02)。ユーザーの名前 (George Smith など) ではありません。
{#r_GlideUserUserName__table_sf4_t2h_vs__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userName | 文字列 | 現在のユーザーのユーザー名。 |
[表 : 17. フィールド]

{#r_GlideUserUserName__table_sf4_t2h_vs}  

    var userName = g_user.userName;
       alert('Current user = ' + userName);

## GlideUser - userID {#ariaid-title12}

現在のユーザーの sys_id を返します。
{#r_GlideUserUserID__table_fhb_3fh_vs__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userID | 文字列 | 現在のユーザーの sys_id。 |
[表 : 18. フィールド]

{#r_GlideUserUserID__table_fhb_3fh_vs}  

    var userID = g_user.userID;
       alert('Current user ID = ' + userID);


