GlideSession - スコープ対象
スコープ対象 GlideSession API は、現在のセッションに関する情報を検索する手段を提供します。
スコープ対象 GlideSession オブジェクトのインスタンスを作成するためのコンストラクターはありません。代わりに、スコープ対象 GlideSystem API の getSession() メソッドを使用します。
スコープ対象 GlideSession - getClientData(文字列 paramName)
以前に putClientData() で設定されたセッションのクライアント値を取得します。
このメソッドを使用して putClientData() メソッドで設定されたデータ値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| paramName | 文字列 | 取得するクライアントデータの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 文字列としてのクライアントデータ。 |
var session = gs.getSession();
session.putClientData('test1', 'Harry');
var clientData = session.getClientData('test1');
gs.info(clientData);
出力:
Harry
スコープ対象 GlideSession - getClientIP()
クライアントの IP アドレスを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | IP アドレス。 |
var session = gs.getSession();
var addr = session.getClientIP();
gs.info(addr);
出力:
50.59.164.97
スコープ対象 GlideSession - getCurrentApplicationId()
アプリケーションピッカーで現在選択されているアプリケーションを返します。
このメソッドには管理者権限が必要です。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在選択されているアプリケーション。 |
var session = gs.getSession();
var appID = session.getCurrentApplicationId();
gs.info(appID);
出力:
ce05b9f32b840200c5244f74b4da1501
スコープ対象 GlideSession - getCurrentDomainID()
ログインしているユーザーセッションの現在のドメインの sys_id を返します。
- ユーザーがグローバルドメインで構成されていて、ドメインピッカーを使用してドメインを切り替えない場合、このメソッドは null を返します。
- ユーザーがドメインピッカーを使用してグローバルドメインに切り替えると、このメソッドは文字列「global」を返します。
- 他のすべてのドメインの場合、このメソッドはそのドメインの sys_id を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在ログインしているユーザーのセッションドメインの 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()
セッションの言語コードを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッションの言語コード。 |
var session = gs.getSession();
var language = session.getLanguage();
gs.info(language);
出力:
en
スコープ対象 GlideSession - getSessionToken()
セッショントークンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッショントークン。 |
var session = gs.getSession();
var token = session.getSessionToken();
gs.info(token);
出力:
4284b5372b840200c5244f74b4da15f2c3476cf7fcb6572afa4ef9d5e6d307a5fd9e1da7
スコープ対象 GlideSession - getTimeZoneName()
セッションのタイムゾーンの名前を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | セッションのタイムゾーンの名前。 |
var session = gs.getSession();
var zoneName = session.getTimeZoneName();
gs.info(zoneName);
出力:
US/Pacific
スコープ対象 GlideSession - getUrlOnStack()
スタック上の URL を返します。スタックが空の場合は null を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 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 を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | ユーザーが別のユーザーの代理操作を行っている場合は true を返します。行っていない場合は false を返します。 |
var isImpersonator = gs.getSession().isImpersonating();
gs.info(isImpersonator);
スコープ対象 GlideSession - isInteractive()
セッションがインタラクティブである場合は true を返します。
インタラクティブセッションは、エンドユーザーがサーバーから情報を取得するユーザーインターフェイスとのインタラクションです。このタイプのセッション例は、ユーザーがログイン画面を使用してログインするか、フォームを使用してデータストアをクエリする場合です。非インタラクティブセッションは、データを取得するための SOAP 要求など、プログラムによるサーバーとのインタラクションのみを伴います。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | セッションがインタラクティブである場合は true。 |
var interActive = gs.getSession().isInteractive();
gs.info(interActive);
スコープ対象 GlideSession - isLoggedIn()
ユーザーがログインしている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | ユーザーがログインしている場合は true。 |
var session = gs.getSession();
var loggedIn = session.isLoggedIn();
gs.info(loggedIn);
出力:
true
スコープ対象 GlideSession - putClientData(文字列 paramName, 文字列 paramValue)
getClientData() で取得できるセッションクライアント値を設定します。このメソッドは、フォームの作成時に実行されるサーバー側スクリプトで使用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| paramName | 文字列 | 設定するクライアントデータの名前。 |
| paramValue | 文字列 | クライアントデータの値。 |
| タイプ | 説明 |
|---|---|
| なし |
var session = gs.getSession();
session.putClientData('test1', 'Harry');
var clientData = session.getClientData('test1');
gs.info(clientData);
出力:
Harry