GlideSession - スコープ指定

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:8分
  • スコープ対象の GlideSession API は、現在のセッションに関する情報を検索するためのメソッドを提供します。

    スコープ付き GlideSession オブジェクトのインスタンスを作成するためのコンストラクターはありません。代わりに、スコープ対象の GlideSystem API の getSession() メソッドを使用します。

    スコープ付き GlideSession - getClientData(String paramName)

    以前に putClientData() で設定したセッションクライアント値を取得します。

    このメソッドを使用して、 putClientData() メソッドを使用して設定されたデータ値を取得します。

    表 : 1. パラメーター
    名前 タイプ 説明
    paramName 文字列 取得するクライアントデータの名前。
    表 : 2. 返される内容
    タイプ 説明
    文字列 クライアントデータ。
    var session = gs.getSession();
    session.putClientData('test1', 'Harry');
    var clientData = session.getClientData('test1');
    gs.info(clientData);

    出力:

    Harry

    スコープ付き GlideSession - getClientIP()

    クライアント IP アドレスを返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    文字列 IP アドレス。
    var session = gs.getSession();
    var addr = session.getClientIP();
    gs.info(addr);

    出力:

    50.59.164.97

    スコープ付き GlideSession - getCurrentApplicationId()

    アプリケーションピッカーで現在選択されているアプリケーションを返します。

    この方法にはアドミン権限が必要です。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    文字列 現在選択されているアプリケーション。
    var session = gs.getSession();
    var appID = session.getCurrentApplicationId();
    gs.info(appID);

    出力:

    ce05b9f32b840200c5244f74b4da1501

    スコープ付き GlideSession - getCurrentDomainID()

    ログインしたユーザーセッションの現在のドメインのsys_idを返します。

    返される識別子は、ドメインタイプとそのドメインのインスタンス化によって異なります。
    • ユーザーがグローバルドメインで構成されており、ドメインピッカーを使用してドメインを切り替えない場合、このメソッドは null を返します。
    • ユーザーがドメインピッカーを使用してグローバルドメインに切り替えた場合、このメソッドは文字列「global」を返します。
    • 他のすべてのドメインでは、このメソッドはそのドメインのsys_idを返します。
    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 返される内容
    タイプ 説明
    文字列 現在ログインしているユーザーのセッションドメインのSys_id。これは、ドメインピッカーに表示される情報と同じです。

    この例は、ユーザードメインがグローバルまたは null の場合に、現在のsys_emailレコードのドメインがユーザーのセッションドメインに設定されていることを示しています。

    // Set domain based on parent record's domain
    setDomain();
    
    // If the domain is global, set to user's domain
    if (current.sys_domain == 'global' || current.sys_domain.nil())
       current.sys_domain = gs.getSession().getCurrentDomainID();
    
    function setDomain() {
       if (current.target_table.nil())
          return;
    
       var d = new GlideRecord(current.target_table);
       if (!d.isValid())
          return;
    
       if (!d.get('sys_id', current.instance))
          return;
    
       if (typeof(d.sys_domain) == 'object')
          current.sys_domain = d.sys_domain;
    

    スコープ付き GlideSession - getLanguage()

    セッションの言語コードを返します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    文字列 セッションの言語コード。
    var session = gs.getSession();
    var language = session.getLanguage();
    gs.info(language);

    出力:

    en

    スコープ付き GlideSession - getSessionToken()

    セッショントークンを返します。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 返される内容
    タイプ 説明
    文字列 セッショントークン。
    var session = gs.getSession();
    var token = session.getSessionToken();
    gs.info(token);

    出力:

    4284b5372b840200c5244f74b4da15f2c3476cf7fcb6572afa4ef9d5e6d307a5fd9e1da7

    スコープ付き GlideSession - getTimeZoneName()

    セッションのタイムゾーンの名前を返します。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    文字列 セッションのタイムゾーンの名前。
    var session = gs.getSession();
    var zoneName = session.getTimeZoneName();
    gs.info(zoneName);

    出力:

    US/Pacific

    スコープ付き GlideSession - getUrlOnStack()

    スタック上の URL を返します。スタックが空の場合は null を返します。

    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 返される内容
    タイプ 説明
    文字列 スタック上の URL です。スタックが空の場合は null を返します。
    var session = gs.getSession();
    var URL = session.getUrlOnStack();
    gs.info(URL);

    出力:わかりやすくするために改行が追加されました。

    sys_app.do?sys_id=ce05b9f32b840200c5244f74b4da1501&sysparm_goto_url=sys_app.do
    %3Fsys_id%3Dce05b9f32b840200c5244f74b4da1501

    スコープ対象 GlideSession - isImpersonating()

    ユーザーが別のユーザーの代理操作をしている場合は true を返します。

    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 返される内容
    タイプ 説明
    ブーリアン ユーザーが別のユーザーの代理操作を行っていることを示すフラグ。
    可能な値:
    • true:ユーザーが代理操作しています。
    • false:ユーザーは代理操作していません。
    var isImpersonator = gs.getSession().isImpersonating();
    gs.info(isImpersonator);

    スコープ対象 GlideSession - isInteractive()

    セッションがインタラクティブの場合は true を返します。

    インタラクティブセッションとは、エンドユーザーがユーザーインターフェイスとやり取りし、サーバーから情報を取得するセッションです。このタイプのセッションの例としては、ユーザーがログイン画面を使用してログインする場合や、フォームを使用してデータストアをクエリする場合などが挙げられます。非インタラクティブセッションは、データを取得するための SOAP 要求など、サーバーとのプログラムによる対話のみを伴うセッションです。

    表 : 19. パラメーター
    名前 タイプ 説明
    なし
    表 : 20. 返される内容
    タイプ 説明
    ブーリアン セッションがインタラクティブかどうかを示すフラグ。
    可能な値:
    • true:セッションはインタラクティブです。
    • false:セッションはインタラクティブではありません。
    var interActive = gs.getSession().isInteractive();
    gs.info(interActive);

    スコープ付き GlideSession - isLoggedIn()

    ユーザーがログインしている場合は true を返します。

    表 : 21. パラメーター
    名前 タイプ 説明
    なし
    表 : 22. 返される内容
    タイプ 説明
    ブーリアン ユーザーがログインしているかどうかを示すフラグ
    可能な値:
    • true:ユーザーはログインしています。
    • false:ユーザーはログインしていません。
    var session = gs.getSession();
    var loggedIn = session.isLoggedIn();
    gs.info(loggedIn);

    出力:

    true

    スコープ付き GlideSession - putClientData(String paramName, String paramValue)

    getClientData() で取得できるセッションクライアント値を設定します。このメソッドは、フォームの作成時に実行されるサーバーサイドスクリプトで使用されます。

    表 : 23. パラメーター
    名前 タイプ 説明
    paramName 文字列 設定するクライアントデータの名前。
    paramValue 文字列 クライアントデータの値。
    表 : 24. 返される内容
    タイプ 説明
    なし
    var session = gs.getSession();
    session.putClientData('test1', 'Harry');
    var clientData = session.getClientData('test1');
    gs.info(clientData);

    出力:

    Harry