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

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間: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 トランザクション中にエラーが発生した場合に、数字のエラーコードを取得します。

    このエラーコードは Now 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(文字列 name)

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

    表 : 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 ヘッダーなど、1 つのヘッダーが応答に複数回存在する場合、この関数は重複するヘッダーの最後のもののみを返します。重複を含むすべてのヘッダーを返すには、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. 返される内容
    タイプ 説明
    数字 成功した応答の場合は 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 トランザクション中にエラーが発生したかどうかを示します。

    表 : 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(数字 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);