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 トランザクション中にエラーが発生した場合の数値エラーコードを取得します。
このエラーコードは ServiceNow AI 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 | 文字列 | 値を設定するヘッダーの名前 (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 ステータスコードを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 番号 | REST プロバイダーによって返される数値ステータスコード (応答が成功した場合は 200 など)。 |
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(Number 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);