GlideSession - スコープ対象

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

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

    スコープ対象 GlideSession - getClientData(文字列 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(文字列 paramName, 文字列 paramValue)

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

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

    出力:

    Harry