---
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


---

# GlideImpersonate - グローバル

# GlideImpersonate - グローバル {#ariaid-title1}

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

GlideImpersonate API を使用すると、アドミニストレーターはテスト目的で別の認証済みユーザーのふりをすることができます。  
この API は、アプリケーション内の機能をテストするために別のユーザーとして動作する必要がある場合に使用します。別のユーザーの代理操作を行う場合、管理者は、代理操作されたユーザーがシステム内でアクセスできるメニューやモジュールなどとまったく同じものにアクセスできます。  
注:  
システムは、別のユーザーの代理操作を行っている間に管理者が行ったことを、そのユーザーによって行われたものとして記録します。

## GlideImpersonate - canDebug(文字列 userSysId) {#ariaid-title2}

指定されたユーザーがスクリプトのデバッグを実行できるかどうかを確認します。
ユーザーがスクリプトをデバッグできるようにするには、開発者インスタンスを使用する必要があります。本番インスタンスではデバッグできません。
{#GI-canDebug_S__table_vlb_std_t1b__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userSysId | 文字列 | デバッグ機能を検証するユーザーの sys_Id。 |
[表 : 1. パラメーター]

{#GI-canDebug_S__table_vlb_std_t1b} {#GI-canDebug_S__table_wlb_std_t1b__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | true：ユーザーはアプリケーションをデバッグできます。 false：ユーザーはアプリケーションをデバッグできません。 |
[表 : 2. 返される内容]

{#GI-canDebug_S__table_wlb_std_t1b}  

    userDebug: function(userId) {
      var impUser = new GlideImpersonate();
      impUser.canDebug(userId);
     }

## GlideImpersonate - canImpersonate(文字列 userSysId) {#ariaid-title3}

現在のユーザーが指定されたユーザーの代理操作を行えるかどうかを確認します。
現在のユーザーに admin ロールが割り当てられていない場合、代理操作するユーザーが非アクティブである場合、または指定されたユーザーの代理操作に他の問題がある場合、メソッドは「false」を返し、ユーザーは代理操作できません。
{#GI-canImpersonate_S__table_f2t_w4d_t1b__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userSysId | 文字列 | 代理操作するユーザーの sys_Id |
[表 : 3. パラメーター]

{#GI-canImpersonate_S__table_f2t_w4d_t1b} {#GI-canImpersonate_S__table_g2t_w4d_t1b__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 現在のユーザーが指定されたユーザーの代理操作を行えるかどうかを示すフラグ。 可能な値： * true：現在のユーザーは指定されたユーザーの代理操作を行うことができます。 * false：現在のユーザーは指定されたユーザーの代理操作を行うことはできません。 |
[表 : 4. 返される内容]

{#GI-canImpersonate_S__table_g2t_w4d_t1b}  

    function onlineImpersonate(userSysId) {
      if (!GlideImpersonate().canImpersonate(userSysId)){
        gs.addInfoMessage("No access to impersonate " + userSysId);
      } else {
        GlideImpersonate().impersonate(userSysId);
      }
      return;
    }

## GlideImpersonate - impersonate(文字列 userSysId) {#ariaid-title4}

現在の管理者のユーザー ID を渡されたユーザー ID に設定し、管理者がそのユーザーとして操作できるようにします。
別のユーザーの代理操作を行う場合、管理者は、代理操作されたユーザーがシステム内でアクセスできるメニューやモジュールなどとまったく同じものにアクセスできます。アプリケーションの機能をテストする場合にのみ、このメソッドを使用してください。ユーザーの代理操作が完了したら、管理者 sys_Id を使用してメソッドを再度呼び出し、代理操作を停止します。
{#GI-impersonate_S__table_erk_qhd_t1b__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userSysId | 文字列 | 代理操作するユーザーの sys_Id。 |
[表 : 5. パラメーター]

{#GI-impersonate_S__table_erk_qhd_t1b} {#GI-impersonate_S__table_frk_qhd_t1b__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 代理操作要求の前にログインしていたユーザーの sys_id。 |
[表 : 6. 返される内容]

{#GI-impersonate_S__table_frk_qhd_t1b}  
次の例は、現在のユーザーオブジェクトを取得する方法を示しています。

    var user = gs.getUserDisplayName();
    gs.print ("The current user display name is: " + user);

    var impUser = new GlideImpersonate();
    impUser.impersonate("62826bf03710200044e0bfc8bcbe5df1");
    var user = gs.getUserDisplayName();
    gs.print ("The impersonated user display name is: " + user);

出力：

    The current user display name is: System Administrator
    The impersonated user display name is: Abel Tuter

## GlideImpersonate - isImpersonating() {#ariaid-title5}

現在のユーザーが別のユーザーの代理操作を行っているかどうかを判断します。
{#GI-isImpersonating__table_lrd_nwd_t1b__entry__3}

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

{#GI-isImpersonating__table_lrd_nwd_t1b} {#GI-isImpersonating__table_mrd_nwd_t1b__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | true：ユーザーは現在、別のユーザーの代理操作を行っています。 false：ユーザーは現在、別のユーザーの代理操作を行っていません。 |
[表 : 8. 返される内容]

{#GI-isImpersonating__table_mrd_nwd_t1b}  

    function abortOnImpersonate() {
        if (GlideImpersonate().isImpersonating()){
      current.setAbortAction(true);
      gs.addInfoMessage("Transaction canceled due to Impersonation");
        }
        return;
    }


