RESTResponseV2 - スコープ対象、グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:12分
  • RESTResponseV2 API は、送信 REST メッセージによって返されたデータを JavaScript コードで使用できるようにするメソッドを提供します。

    RESTResponseV2 オブジェクトは、 RESTMessageV2 メソッド execute() および executeAsync() によって返されます。

    この API は、スコープ対象のアプリケーションまたはグローバルスコープ内で使用できます。

    この API は sn_ws 名前空間で実行されます。

    RESTResponseV2:getAllHeaders()

    重複するヘッダーを含む、応答に含まれるすべてのヘッダーを返します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 返される内容
    タイプ 説明
    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() を呼び出して本文コンテンツを取得します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    文字列 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 を返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    オブジェクト 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 カスタマーサポートからのサポートが必要な場合は、このエラーコードを入力してください。

    注:
    実際のエラーメッセージの内容を取得するには、 getBody() メソッドを使用します。
    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 返される内容
    タイプ 説明
    番号 数値エラーコード (ソケットタイムアウトの 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 トランザクション中にエラーが発生した場合にエラーメッセージを取得します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    文字列 エラーメッセージ。
    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(文字列名)

    指定されたヘッダーの値を取得します。

    表 : 11. パラメーター
    名前 タイプ 説明
    name 文字列 値を設定するヘッダーの名前 (Set-Cookie など)。
    表 : 12. 返される内容
    タイプ 説明
    文字列 指定されたヘッダーの値。
    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 応答で返されたすべてのヘッダーと関連する値を取得します。

    注:
    Set-Cookie ヘッダーなど、ヘッダーが応答に複数回存在する場合、この関数は最後の重複ヘッダーのみを返します。重複を含むすべてのヘッダーを返すには、 getAllHeaders() 関数を使用します。
    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    オブジェクト 各ヘッダーの名前を関連する値にマップするオブジェクト。
    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 サーバーを使用して送信される要求ではサポートされていません。

    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 返される内容
    タイプ 説明
    文字列 完全に解決されたクエリ。
    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を取得します。新しい添付ファイルレコードに対して追加の操作を実行する場合は、この機能を使用します。

    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 返される内容
    タイプ 説明
    文字列 新しい添付ファイルレコードのSys_id。

    RESTResponseV2:getStatusCode()

    REST プロバイダーから返された数値の HTTP ステータスコードを取得します。

    表 : 19. パラメーター
    名前 タイプ 説明
    なし
    表 : 20. 返される内容
    タイプ 説明
    番号 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 トランザクション中にエラーが発生したかどうかを示します。

    表 : 21. パラメーター
    名前 タイプ 説明
    なし
    表 : 22. 返される内容
    タイプ 説明
    ブーリアン エラーがあった場合は 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 を上書きします。

    表 : 23. パラメーター
    名前 タイプ 説明
    timeoutSecs 番号 この応答を待機する時間 (秒)。
    表 : 24. 返される内容
    タイプ 説明
    なし
    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);