RESTResponseV2 - スコープ対象、グローバル
RESTResponseV2 API は、送信 REST メッセージによって返されたデータを JavaScript コードで使用できるようにするメソッドを提供します。
RESTResponseV2 オブジェクトは、 RESTMessageV2 メソッドの execute() および executeAsync() によって返されます。
この API は、スコープ対象のアプリケーションまたはグローバルスコープで使用できます。
この API は sn_ws 名前空間で実行されます。
RESTResponseV2 - getAllHeaders()
応答に含まれるすべてのヘッダーを返します (重複するヘッダーも含む)。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| List<GlideHTTPHeader> | 応答に含まれるヘッダーのリスト。各ヘッダーは、ヘッダーの名前と値を含む GlideHTTPHeader オブジェクトとして表されます。 |
次のコード例は、REST テーブル API を呼び出し、応答で見つかったすべてのヘッダーを一覧表示する方法を示しています。
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('http://<SN_Instance_host>/api/now/table/incident');
request.setHttpMethod('GET');
request.setBasicAuth('username', 'password');
request.setRequestHeader("Accept", "application/json");
var res = request.execute();
if (res.getStatusCode() != 200) {
gs.info('Bad Request');
}
var headers = res.getAllHeaders();
for(var i in headers){
gs.info(headers[i].name + ': ' + headers[i].value);
}
応答ヘッダー
X-Is-Logged-In: true
X-Transaction-ID: e3003cb2db8c
X-Total-Count: 66
X-Content-Type-Options: nosniff
Pragma: no-store,no-cache
Cache-Control: no-cache,no-store,must-revalidate,max-age=-1
Expires: 0
Content-Type: application/json;charset=UTF-8
Date: Fri, 14 May 2021 16:05:10 GMT
Connection: close
Server: ServiceNow
JSESSIONID=5041870726ADADFAB2EE2BF8E7E01596; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user_session=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_user_route=glide.f1aa2015b3fa5fa8dfe567386cde8fd5; Max-Age=2147483647; Expires=Wed, 01-Jun-2089 19:19:17 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: glide_session_store=AF003CB2DB8CF8103DD9C39D139619C7; Max-Age=1800; Expires=Fri, 14-May-2021 16:35:10 GMT; Path=/; HttpOnly; SameSite=None; Secure
Set-Cookie: BIGipServerpool_ddershem=2643023626.45630.0000; path=/; Httponly; Secure; SameSite=None; Secure
Strict-Transport-Security: max-age=63072000; includeSubDomains
RESTResponseV2 - getBody()
REST 応答本文のコンテンツを取得します。
要求本文をテキストコンテンツとして取得する場合は、この関数を使用します。応答をバイナリ添付ファイルとして保存する場合は、このメソッドを使用しないでください。RESTMessageV2 オブジェクトが saveResponseBodyAsAttachment(...) 関数を呼び出した場合、関連する RESTResponseV2 オブジェクトで getBody() を使用するとエラーが発生します。応答を添付ファイルとして保存するときに送信 REST メッセージが失敗した場合は、応答で getErrorMessage() を呼び出して本文のコンテンツを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | REST 応答本文。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var responseBody = response.getBody();
RESTResponseV2 - getCookies()
応答に含まれるすべての cookie を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | cookie を表す文字列のアレイ。アレイを反復処理して、各 cookie に対して操作を実行します。 |
応答から個々の cookie を表示します。
var cookies = response.getCookies();
for (var i = 0; i < cookies.length; i++) {
gs.info('cookie: ' + cookies.get(i));
}
cookie: JSESSIONID=4135AA97A5D12DA22EF614AA2B0CAFD8.node20; Path=/; Secure; HttpOnly
cookie: SABASESSIONID=370152970.36895.0000; path=/RESTResponseV2 - getErrorCode()
REST トランザクション中にエラーが発生した場合に、数字のエラーコードを取得します。
このエラーコードは Now Platform に固有であり、HTTP エラーコードではありません。ServiceNow カスタマーサポートからのサポートが必要な場合は、このエラーコードを連絡してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 数字 | 数値のエラーコード (ソケットタイムアウトの場合は 1)。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var errorCode = response.getErrorCode();
RESTResponseV2 - getErrorMessage()
REST トランザクション中にエラーが発生した場合に、エラーメッセージを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | エラーメッセージ。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var errorMsg = response.getErrorMessage();
RESTResponseV2 - getHeader(文字列 name)
指定されたヘッダーの値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| name | 文字列 | 値を設定するヘッダー (Set-Cookie など) の名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたヘッダーの値。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var headerVal = response.getHeader("Content-Type");
RESTResponseV2 - getHeaders()
REST 応答で返されたすべてのヘッダーと関連する値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 各ヘッダーの名前を関連する値にマッピングするオブジェクト。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var headers = response.getHeaders();
RESTResponseV2 - getQueryString()
REST エンドポイントに送信された完全解決済みクエリーを取得します。
このクエリーには、エンドポイント URL と、REST メッセージの変数に割り当てられた値が含まれます。このメソッドは、直接要求への応答でのみ使用します。このメソッドは、非同期で送信された要求、または MID サーバーを使用して送信された要求ではサポートされていません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 完全解決クエリー。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var queryString = response.getQueryString();
RESTResponseV2 - getResponseAttachmentSysid()
応答本文のコンテンツから作成された添付ファイルの sys_id 値を取得します。
この応答に関連付けられた RESTMessageV2 オブジェクトが saveResponseBodyAsAttachment(...) 関数を呼び出した場合は、getResponseAttachmentSysid() を使用し、作成された添付ファイルレコードの sys_id を取得します。新しい添付ファイルレコードで追加の操作を実行する場合は、この関数を使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 新しい添付ファイルレコードの sys_id。 |
RESTResponseV2 - getStatusCode()
REST プロバイダーによって返された数字の HTTP ステータスコードを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 数字 | 成功した応答の場合は 200 など、REST プロバイダーによって返される数字のステータスコード。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var statusCode = response.getStatusCode();
RESTResponseV2 - haveError()
REST トランザクション中にエラーが発生したかどうかを示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブーリアン | エラーがあった場合は true を返し、なかった場合は false を返します。 |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute();
var error = response.haveError();
RESTResponseV2:waitForResponse(数字 timeoutSecs)
インスタンスが Web サービスプロバイダーからの応答を待機する時間を設定します。
このメソッドは、この REST 応答のプロパティ glide.rest.outbound.ecc_response.timeout を上書きします。
| 名前 | タイプ | 説明 |
|---|---|---|
| timeoutSecs | 数字 | この応答を待機する時間 (秒)。 |
| タイプ | 説明 |
|---|---|
| なし |
var sm = new sn_ws.RESTMessageV2("Yahoo Finance","get"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.executeAsync();
response.waitForResponse(60);