---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

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

# RESTMessageV2 - スコープ対象、グローバル {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：29分

RESTMessageV2 API には、JavaScript を使用して送信 REST メッセージを送信できるメソッドが用意されています。

この API を使用して、REST プロバイダーによって返される応答を管理します。

ユーザーエージェントの値は「ServiceNow/1.0」です。これを変更するには、システムプロパティ \[sys_properties\] テーブルに glide.http.user.agent システムプロパティを追加します。

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

## RESTMessageV2:RESTMessageV2() {#ariaid-title2}

空の RESTMessageV2 オブジェクトをインスタンス化します。
この方法でインスタンス化されたオブジェクトを使用する場合は、HTTP メソッドとエンドポイントを手動で指定する必要があります。
{#r_RMV2-RESTMessageV2__table_vy2_525_jqf__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#r_RMV2-RESTMessageV2__table_vy2_525_jqf}  

    var sm = new sn_ws.RESTMessageV2();

## RESTMessageV2:RESTMessageV2(文字列名、文字列 methodName) {#ariaid-title3}

REST メッセージレコードの情報を使用して RESTMessageV2 オブジェクトをインスタンス化します。
このコンストラクターを使用する前に、REST メッセージレコードを定義しておく必要があります。手順については、「[REST メッセージの作成](https://servicenow-prod.fluidtopics.net/I4RYQcdbVcxOjgNvceIR9A "REST メッセージレコードを作成して、REST Web サービスエンドポイントに要求を送信します。")」を参照してください。
{#r_RMV2-RESTMessageV2_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | REST メッセージ \[sys_rest_message\] テーブル内の REST メッセージレコードの名前。 |
| methodName | 文字列 | 使用する HTTP メソッドの名前 (GET/get や PUT/put など) - 大文字と小文字は区別されません。 |
[表 : 2. パラメーター]

{#r_RMV2-RESTMessageV2_S_S__table_vy2_525_jq}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get");
    // Might throw exception if message doesn't exist or not visible due to scope.

## RESTMessageV2 - disableForcedVariableSubstitution() {#ariaid-title4}

送信 REST メッセージで強制変数置換を無効にします。
注:  
要求で波かっこまたはドル記号を使用すると、誤って切り捨てられた出力が返される可能性があります。要求によって誤って応答が切り捨てられたり、応答が新しい行に分割されたりした場合は、 [このコミュニティの記事](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1442596) で解決策をご確認ください。
{#RestMessageV2-disableForcedVariableSubstitution__table_bvg_43g_z2b__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 3. パラメーター]

{#RestMessageV2-disableForcedVariableSubstitution__table_bvg_43g_z2b} {#RestMessageV2-disableForcedVariableSubstitution__table_cvg_43g_z2b__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 4. 返される内容]

{#RestMessageV2-disableForcedVariableSubstitution__table_cvg_43g_z2b}  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get");
    sm.disableForcedVariableSubstitution();
    var response = sm.execute();

## RESTMessageV2 - 実行() {#ariaid-title5}

REST メッセージをエンドポイントに送信します。
{#r_RMV2-execute__table_vy2_525_jqa__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 5. パラメーター]

{#r_RMV2-execute__table_vy2_525_jqa} {#r_RMV2-execute__table_qlp_mhh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| RESTResponse | REST プロバイダーによって返される応答。 |
[表 : 6. 返される内容]

{#r_RMV2-execute__table_qlp_mhh_dr}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

## RESTMessageV2 - executeAsync() {#ariaid-title6}

REST メッセージをエンドポイントに非同期的に送信します。インスタンスは、非同期呼び出しを行うときに Web サービスプロバイダーからの応答を待機しません。
{#r_RMV2-executeAsync__table_vy2_525_jqb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 7. パラメーター]

{#r_RMV2-executeAsync__table_vy2_525_jqb} {#r_RMV2-executeAsync__table_rys_lhh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| RESTResponse | REST プロバイダーによって返される応答。 |
[表 : 8. 返される内容]

{#r_RMV2-executeAsync__table_rys_lhh_dr}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。`executeAsync` を使用する場合は、非同期呼び出しを利用するために、別のビジネス ルールで応答本文を処理することを検討してください。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.executeAsync(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

## RESTMessageV2:getEndpoint() {#ariaid-title7}

REST メッセージのエンドポイントの URL を取得します。
{#r_RMV2-getEndpoint__table_vy2_525_jqc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 9. パラメーター]

{#r_RMV2-getEndpoint__table_vy2_525_jqc} {#r_RMV2-getEndpoint__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | REST Web サービスプロバイダーの URL。 |
[表 : 10. 返される内容]

{#r_RMV2-getEndpoint__table_qpt_3f5_jq}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var endpoint = sm.getEndpoint();

## RESTMessageV2:getRequestBody() {#ariaid-title8}

REST メッセージ本文の内容を取得します。
{#r_RMV2-getRequestBody__table_vy2_525_jqd__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 11. パラメーター]

{#r_RMV2-getRequestBody__table_vy2_525_jqd} {#r_RMV2-getRequestBody__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | REST メッセージ本文。 |
[表 : 12. 返される内容]

{#r_RMV2-getRequestBody__table_qpt_3f5_jq}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var body = sm.getRequestBody();

## RESTMessageV2:getRequestHeader(文字列 headerName) {#ariaid-title9}

REST メッセージで指定された HTTP ヘッダーの値を取得します。
デフォルトでは、このメソッドはシステムによって自動的に設定されたヘッダーの値を返すことはできません。このメソッドにすべてのヘッダーへのアクセスを許可するには、プロパティ glide.http.log_debug を true に設定します。
{#r_RMV2-getRequestHeader_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| headerName | 文字列 | 値を取得する要求ヘッダー。 |
[表 : 13. パラメーター]

{#r_RMV2-getRequestHeader_S__table_vy2_525_jq} {#r_RMV2-getRequestHeader_S__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 指定されたヘッダーの値。 |
[表 : 14. 返される内容]

{#r_RMV2-getRequestHeader_S__table_qpt_3f5_jq}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var header = sm.getRequestHeader("Accept");

## RESTMessageV2 - getRequestHeaders() {#ariaid-title10}

REST クライアントによって設定された HTTP ヘッダーと関連する値を取得します。
このメソッドは、システムによって自動的に設定されたヘッダーを返しません。すべてのヘッダーを返すようにこのメソッドを構成するには、プロパティ glide.http.log_debug を true に設定します。
{#r_RMV2-getRequestHeaders__table_vy2_525_jqe__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 15. パラメーター]

{#r_RMV2-getRequestHeaders__table_vy2_525_jqe} {#r_RMV2-getRequestHeaders__table_qpt_3f5_jq__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 各ヘッダーの名前を関連する値にマップするオブジェクト。 |
[表 : 16. 返される内容]

{#r_RMV2-getRequestHeaders__table_qpt_3f5_jq}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    var headers = sm.getRequestHeaders();

## RESTMessageV2 - saveResponseBodyAsAttachment(文字列 tableName, 文字列 recordSysId, 文字列 fileName) {#ariaid-title11}

返された応答本文を添付ファイルレコードとして保存するように REST メッセージを構成します。
MID サーバー経由で送信される REST メッセージでこの関数を使用する場合、MID サーバーユーザーは、添付ファイルレコードの読み取りと書き込みに必要なロールに加えて、 tableName パラメーターで指定されたテーブルのレコードの読み取りと書き込みに必要なロールを持っている必要があります。{#r_RMV2-saveRespBodyAsAttach_S_S_S__p_RMv2_MID_role_req_save}

応答本文は、添付ファイルとして保存するためのバイナリファイルである必要はありません。JSON や XML などのテキスト形式を使用する応答本文も保存できます。インスタンスが添付ファイルの保存に失敗した場合は、関連する RESTResponseV2 オブジェクトで getErrorMessage() を呼び出してエラーの詳細を確認してください。
{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_yg1_rp3_5s__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| tableName | 文字列 | 保存したファイルを添付するレコードを含むテーブルを指定します。 |
| recordSysId | 文字列 | 保存したファイルを添付するレコードのsys_idを指定します。 |
| fileName | 文字列 | 保存するファイルに付けるファイル名を指定します。 |
[表 : 17. パラメーター]

{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_yg1_rp3_5s} {#r_RMV2-saveRespBodyAsAttach_S_S_S__table_zg1_rp3_5s__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 18. 返される内容]

{#r_RMV2-saveRespBodyAsAttach_S_S_S__table_zg1_rp3_5s}  

    (function sampleRESTMessageV2() {
      try{
        var request  = new sn_ws.RESTMessageV2();        
        request.setHttpMethod('get');

        var attachment_sys_id  = '<attachment_record_sys_id>', 
          tablename = 'incident',
          recordSysId = '<incident_sys_id>',            
          response,            
          httpResponseStatus,             
          filename ='<filename>';

        //endpoint - ServiceNow REST Attachment API        
        request.setEndpoint('https://<instance_name>.service-now.com/api/now/attachment/' + attachment_sys_id  +'/file');        
        request.setBasicAuth('<username>', '<password>');

        //RESTMessageV2 - saveResponseBodyAsAttachment(String tableName, String recordSysId, String fileName)        
        request.saveResponseBodyAsAttachment(tablename, recordSysId, filename);        

        response = request.execute();        
        httpResponseStatus = response.getStatusCode();  
          
        gs.info(" http response status_code:  " + httpResponseStatus);    
      }
      catch(ex){
        var message  = ex.getMessage();        
        gs.info(message);    
      }
    })();

## RESTMessageV2 - saveResponseBodyAsAttachment(文字列 tableName, 文字列 recordSysId, 文字列 fileName, 文字列 encryptContext) {#ariaid-title12}

返された応答本文を暗号化された添付ファイルレコードとして保存するように REST メッセージを構成します。
MID サーバー経由で送信される REST メッセージでこの関数を使用する場合、MID サーバーユーザーは、添付ファイルレコードの読み取りと書き込みに必要なロールに加えて、 tableName パラメーターで指定されたテーブルのレコードの読み取りと書き込みに必要なロールを持っている必要があります。

応答本文は、添付ファイルとして保存するためのバイナリファイルである必要はありません。JSON や XML などのテキスト形式を使用する応答本文も保存できます。インスタンスが添付ファイルの保存に失敗した場合は、関連する RESTResponseV2 オブジェクトで getErrorMessage() を呼び出してエラーの詳細を確認してください。{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__p_k4n_p22_vs}
{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_yg1_rp3_5s__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| tableName | 文字列 | 保存したファイルを添付するレコードを含むテーブルを指定します。 |
| recordSysId | 文字列 | 保存したファイルを添付するレコードのsys_idを指定します。 |
| fileName | 文字列 | 保存するファイルに付けるファイル名を指定します。 |
| 暗号化コンテキスト | 文字列 | 暗号化コンテキストのsys_idを指定します。保存されたファイルは、このコンテキストを使用して暗号化されます。 |
[表 : 19. パラメーター]

{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_yg1_rp3_5s} {#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_zg1_rp3_5s__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 20. 返される内容]

{#r_RMV2-saveRespBodyAsAttach_S_S_S_S__table_zg1_rp3_5s}

## RESTMessageV2 - setAllowedRedirectURI (アレイ URI) {#ariaid-title13}

リダイレクト先を許可する 1 つ以上の URI を設定します。許可された送信 URI を制御することで、セキュリティ上の懸念が軽減され、ユーザーを悪意のあるサイトに誘導する URL リダイレクト攻撃を防ぐことができます。
URI をリダイレクトするより包括的な方法については、「 [UriMatcher :スコープ対象](https://servicenow-prod.fluidtopics.net/c22~6zuaJk2NQjEhBQZeag#UriMatcherScopedAPI "URI が、スキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在に関して指定された基準と一致するかどうかを確認するメソッドを提供します。")」を参照してください。
{#r_RMV2-setAllowedRedirectURIs_A__table_qym_34c_jt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| URI | アレイ | リダイレクトが許可されている 1 つ以上の URI。各 URI は「文字列」形式でリストする必要があります。 |
[表 : 21. パラメーター]

{#r_RMV2-setAllowedRedirectURIs_A__table_qym_34c_jt} {#r_RMV2-setAllowedRedirectURIs_A__table_rym_34c_jt__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 22. 返される内容]

{#r_RMV2-setAllowedRedirectURIs_A__table_rym_34c_jt}  
次の例は、REST メッセージメソッドのリダイレクトが許可される URL を 1 つ以上追加する方法を示しています。

    // Redirection URI Allow list
    try{
    	var rm = new sn_ws.RESTMessageV2('<REST_message_record>', '<REST_Msg_method_name>');
    	rm.setAllowedRedirectURIs(['https://www.google.com']);

    	var response = rm.execute();
    	var responseBody = response.getBody();
    	var httpStatus = response.getStatusCode();
    	gs.info(responseBody);
    	gs.info(httpStatus);
    } catch(ex) {
    	var message = ex.getMessage();
    }

## RESTMessageV2 - setAuthenticationProfile(文字列タイプ, 文字列 profileId) {#ariaid-title14}

既存の基本認証または OAuth 2.0 プロファイルを使用して、REST メッセージの認証情報を設定します。
{#r_RMV2-setAuthenticationProfile_S_S__table_qym_34c_jt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| type | 文字列 | 使用する認証プロファイルのタイプ。有効な値は、ベーシック認証を使用する場合は「basic」、OAuth 2.0 を使用する場合は「oauth2」です。 |
| profileId | 文字列 | 認証プロファイルレコードのsys_id。ベーシック認証を使用する場合は、ベーシック認証構成 \[sys_auth_profile_basic\] レコードのsys_idを指定します。OAuth 2.0 を使用する場合は、OAuth エンティティプロファイル \[oauth_entity_profile\] レコードのsys_idを指定します。 |
[表 : 23. パラメーター]

{#r_RMV2-setAuthenticationProfile_S_S__table_qym_34c_jt} {#r_RMV2-setAuthenticationProfile_S_S__table_rym_34c_jt__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 24. 返される内容]

{#r_RMV2-setAuthenticationProfile_S_S__table_rym_34c_jt}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var requestBody;
    var responseBody;
    var status;
    var sm;
    try{
           // Might throw exception if message doesn't exist or not visible due to scope.
    	sm = new sn_ws.RESTMessageV2("<REST_message_record>", "get");  

           //set auth profile to an OAuth 2.0 profile record.
    	sm.setAuthenticationProfile('oauth2', '1234adsf123212131123qasdsf'); 

    	sm.setStringParameter("symbol", "NOW");
    	sm.setStringParameterNoEscape("xml_data","<data>test</data>");

           //In milliseconds. Wait at most 10 seconds for response from http request.
    	sm.setHttpTimeout(10000); 
           //Might throw exception if http connection timed out or some issue 
           //with sending request itself because of encryption/decryption of password.
    	response = sm.execute();	
           responseBody = response.haveError() ? response.getErrorMessage() : response.getBody();
    	status = response.getStatusCode();
    } catch(ex) {
    	responseBody = ex.getMessage();
    	status = '500';
    } finally {
    	requestBody = sm ? sm.getRequestBody():null;
    }

## RESTMessageV2 - setBasicAuth(文字列 userName, 文字列 userPass) {#ariaid-title15}

REST メッセージのベーシック認証ヘッダーを設定します。
この方法を使用してセキュリティ値を設定すると、REST メッセージレコードに定義されているベーシック認証値が上書きされます。
{#r_RMV2-setBasicAuth_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userName | 文字列 | REST メッセージの認証に使用するユーザー名。 |
| ユーザーパス | 文字列 | 指定されたユーザーのパスワード。 |
[表 : 25. パラメーター]

{#r_RMV2-setBasicAuth_S_S__table_vy2_525_jq} {#r_RMV2-setBasicAuth_S_S__table_arp_cmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 26. 返される内容]

{#r_RMV2-setBasicAuth_S_S__table_arp_cmh_dr}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setBasicAuth("username","password");

## RESTMessageV2 - setEccCorrelator(文字列コリレーター) {#ariaid-title16}

送信要求とその結果の応答レコードを ECC キューに関連付けます。このメソッドは、 MID サーバーを介して送信される REST メッセージにのみ適用されます。
指定されたコリレーターは、応答の ECC キューレコードの \[ エージェントコリレーター \] フィールドに入力されます。MID サーバーを介して非同期自動化を設計するときに、ECC キュー内の正しい結果を要求に関連付けるために、各送信要求に一意のコリレーターを指定します。
{#r_RMV2-setEccCorrelator_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| コリレーター | 文字列 | 一意の識別子 |
[表 : 27. パラメーター]

{#r_RMV2-setEccCorrelator_S__table_vy2_525_jq} {#r_RMV2-setEccCorrelator_S__table_x3m_cmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 28. 返される内容]

{#r_RMV2-setEccCorrelator_S__table_x3m_cmh_dr}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccCorrelator("unique_identifier");

## RESTMessageV2 - setEccParameter(文字列名, 文字列値) {#ariaid-title17}

REST メッセージペイロードに書き込むことによって、データベースの値を上書きします。このメソッドは、MID サーバーを介して送信される REST メッセージにのみ適用されます。
このメソッドは、エンドポイント URL が REST エンドポイントフィールドの最大長よりも長い場合など、データベース内の REST メッセージの値が無効な場合に使用します。このメソッドでは、名前パラメーターとしてソースを渡すことで、エンドポイント URL のみを設定できます。
{#r_RMV2-setEccParameter_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | パラメーターの名前 (ソースなど)。 |
| value | 文字列 | 指定されたパラメーターにアサインする値。 |
[表 : 29. パラメーター]

{#r_RMV2-setEccParameter_S_S__table_vy2_525_jq} {#r_RMV2-setEccParameter_S_S__table_b1j_cmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 30. 返される内容]

{#r_RMV2-setEccParameter_S_S__table_b1j_cmh_dr}

次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。  

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccParameter("source","http://very.long.endpoint.url");

## RESTMessageV2 - setEndpoint(文字列エンドポイント) {#ariaid-title18}

REST メッセージのエンドポイントを設定します。
デフォルトでは、REST メッセージは REST メッセージレコードで指定されたエンドポイントを使用します。このメソッドを使用して、このデフォルトを上書きします。パラメーターなしで [RESTMessageV2:RESTMessageV2()](https://servicenow-prod.fluidtopics.net/H0scYs6D9UlVcvOgvQwKzw#r_RMV2-RESTMessageV2 "空の RESTMessageV2 オブジェクトをインスタンス化します。") コンストラクターを使用する場合は、このメソッドを呼び出す必要があります。
{#r_RMV2-setEndpoint_String_endpoint__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| endpoint | 文字列 | インターフェイスする REST プロバイダーの URL。 |
[表 : 31. パラメーター]

{#r_RMV2-setEndpoint_String_endpoint__table_vy2_525_jq} {#r_RMV2-setEndpoint_String_endpoint__table_utf_cmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 32. 返される内容]

{#r_RMV2-setEndpoint_String_endpoint__table_utf_cmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    sm.setEndpoint("http://web.service.endpoint");

## RESTMessageV2 - setHttpMethod(文字列メソッド) {#ariaid-title19}

この REST メッセージが実行する HTTP メソッド (GET や PUT など) を設定します。
パラメーターなしで [RESTMessageV2:RESTMessageV2()](https://servicenow-prod.fluidtopics.net/H0scYs6D9UlVcvOgvQwKzw#r_RMV2-RESTMessageV2 "空の RESTMessageV2 オブジェクトをインスタンス化します。") コンストラクターを使用する場合は、HTTP メソッドを設定する必要があります。
{#r_RMV2-setHttpMethod_String_method__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| method | 文字列 | この REST メッセージが実行する HTTP メソッドを設定します。指定された HTTP メソッドでは、大文字と小文字は区別されません。 次の HTTP メソッドがサポートされています。 * GET * POST * PUT * パッチ * 消去 * HEAD {#r_RMV2-setHttpMethod_String_method__ul_lld_dvz_ffc} |
[表 : 33. パラメーター]

{#r_RMV2-setHttpMethod_String_method__table_vy2_525_jq} {#r_RMV2-setHttpMethod_String_method__table_bqb_cmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 34. 戻り値]

{#r_RMV2-setHttpMethod_String_method__table_bqb_cmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    sm.setHttpMethod("post");

## RESTMessageV2 - setHttpTimeout(数 timeoutMs) {#ariaid-title20}

要求がタイムアウトするまでに REST メッセージが Web サービスプロバイダーからの応答を待機する時間を設定します。
{#r_RMV2-setHttpTimeout_N__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| timeoutM | 番号 | REST プロバイダーへの呼び出しがタイムアウトするまでの時間 (ミリ秒単位)。 注: この値は、ソケットのタイムアウトを設定し、指定された時間内にソケットがデータを受信しない場合にのみタイムアウトします。応答がストリーミングされる環境では、接続がタイムアウト値よりもはるかに長く続く可能性があります。 |
[表 : 35. パラメーター]

{#r_RMV2-setHttpTimeout_N__table_vy2_525_jq} {#r_RMV2-setHttpTimeout_N__table_tcy_bmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 36. 返される内容]

{#r_RMV2-setHttpTimeout_N__table_tcy_bmh_dr}  
次の例を使用するには、 <var class="keyword varname">&lt;REST_message_record&gt;</var> インスタンスの REST メッセージレコードの名前に置き換えます。

    // Might throw exception if message doesn't exist or not visible due to scope.
    var sm = new sn_ws.RESTMessageV2("<REST_message_record>", "get");
    sm.setHttpTimeout(6000);

## RESTMessageV2 - setLogLevel(文字列レベル) {#ariaid-title21}

このメッセージと対応する応答のログレベルを設定します。
RESTMessageV2 API を使用してログレベルを設定すると、REST メッセージレコードで構成されたログレベルが上書きされます。エンドポイントドメインが除外されている場合、またはプロパティ glide.outbound_http_log.override が true の場合、このログレベルは適用されないことがあります。送信 Web サービスログを表示するには、 システムログ送信 HTTP 要求.
{#RMV2-setLogLevel_S__table_jsf_y55_rw__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| level | 文字列 | ログレベル。有効な値は、\[基本\]、\[昇格\]、および \[すべて\] です。 |
[表 : 37. パラメーター]

{#RMV2-setLogLevel_S__table_jsf_y55_rw} {#RMV2-setLogLevel_S__table_ksf_y55_rw__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 38. 返される内容]

{#RMV2-setLogLevel_S__table_ksf_y55_rw}  

    var rm = new sn_ws.RESTMessageV2();
    rm.setLogLevel('all');

## RESTMessageV2 - setMIDServer(文字列 midServer) {#ariaid-title22}

MID サーバーを介して通信するように REST メッセージを構成します。
{#r_RMV2-setMIDServer_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| midサーバー | 文字列 | 使用する MID サーバー の名前。インスタンスには、指定された名前のアクティブな MID サーバー が必要です。 |
[表 : 39. パラメーター]

{#r_RMV2-setMIDServer_S__table_vy2_525_jq} {#r_RMV2-setMIDServer_S__table_el5_bmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 40. 返される内容]

{#r_RMV2-setMIDServer_S__table_el5_bmh_dr}  
次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setMIDServer("mid_server_name");

## RESTMessageV2 - setMutualAuth(文字列 profileName) {#ariaid-title23}

REST メッセージの相互認証プロトコルプロファイルを設定します。
この方法を使用してプロトコルプロファイルを設定すると、REST メッセージレコードに対して選択されたプロトコルプロファイルが上書きされます。
{#r_RMV2-setMutualAuth_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| profileName | 文字列 | 相互認証に使用するプロトコルプロファイル の名前 。 |
[表 : 41. パラメーター]

{#r_RMV2-setMutualAuth_S__table_vy2_525_jq} {#r_RMV2-setMutualAuth_S__table_r1r_bmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 42. 返される内容]

{#r_RMV2-setMutualAuth_S__table_r1r_bmh_dr}  
次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setMutualAuth("mutual_auth_profile_name");

## RESTMessageV2 - setQueryParameter(文字列名, 文字列値) {#ariaid-title24}

要求 URL の末尾に name=value という形式のパラメーターを追加します。
たとえば、コード setQueryParameter("sysparm_query","active=true\^ORDERBYnumber\^ORDERBYDESCcategory");テキスト sysparm_query=active=true\^ORDERBYnumber\^ORDERBYDESCcategory を要求 URL に追加します。
{#r_RMV2-setQueryParameter_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 渡す URL パラメーターの名前。 |
| value | 文字列 | URL パラメーターをアサインする値。 |
[表 : 43. パラメーター]

{#r_RMV2-setQueryParameter_S_S__table_vy2_525_jq} {#r_RMV2-setQueryParameter_S_S__table_cnm_bmh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 44. 返される内容]

{#r_RMV2-setQueryParameter_S_S__table_cnm_bmh_dr}  

    var sm = new sn_ws.RESTMessageV2();
    //Set up message, including endpoint and authentication
    sm.setQueryParameter("sysparm_query","active=true^ORDERBYnumber^ORDERBYDESCcategory");

## RESTMessageV2 - setRequestBody(文字列本文) {#ariaid-title25}

PUT または POST HTTP メソッドを使用する場合に、Web サービスプロバイダーに送信する本文コンテンツを設定します。
このメソッドを使用して本文のコンテンツを設定すると、本文内の変数が REST メッセージ関数レコードのパラメーターを置き換えることはありません。REST メッセージ本文内ですべての値を明示的に定義する必要があります。
{#r_RMV2-setRequestBody_String_body__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| 本文 | 文字列 | 送信する要求本文。 |
[表 : 45. パラメーター]

{#r_RMV2-setRequestBody_String_body__table_vy2_525_jq} {#r_RMV2-setRequestBody_String_body__table_gft_1mh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 46. 返される内容]

{#r_RMV2-setRequestBody_String_body__table_gft_1mh_dr}  

    var sm = new sn_ws.RESTMessageV2("Update user","post"); //Might throw exception if message doesn't exist or not visible due to scope.
    var body = "<Message body content>";
    sm.setRequestBody(body);

## RESTMessageV2:setRequestBodyFromAttachment(文字列 attachmentSysId) {#ariaid-title26}

既存の添付ファイルレコードを使用して要求本文を設定します。
MID サーバーを介して送信される REST メッセージでこの関数を使用する場合、MID サーバーユーザーは添付ファイルレコードを読み取るために必要なロールを持っている必要があります。{#r_RMV2-setReqBodyFromAttachment_S__p_RMv2_MID_roles_req}
{#r_RMV2-setReqBodyFromAttachment_S__table_kn2_bp3_5s__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| attachmentSysId | 文字列 | この REST メッセージで送信する添付ファイル \[sys_attachment\] レコードのSys_id。 |
[表 : 47. パラメーター]

{#r_RMV2-setReqBodyFromAttachment_S__table_kn2_bp3_5s} {#r_RMV2-setReqBodyFromAttachment_S__table_ln2_bp3_5s__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 48. 返される内容]

{#r_RMV2-setReqBodyFromAttachment_S__table_ln2_bp3_5s}  

    (function sampleRESTMessageV2() {
        try {
            var request = new sn_ws.RESTMessageV2();
            request.setHttpMethod('post');
            request.setEndpoint('<web service endpoint URL>');
            request.setRequestBodyFromAttachment('<attachment sys_id>');
            
            var response = request.execute();
            var httpResponseStatus = response.getStatusCode();
          
            gs.info("http response status_code: " + httpResponseStatus);        
        }
        catch (ex) {
            var message = ex.getMessage();
            gs.info(message);
        }
    })();

## RESTMessageV2 - setRequestHeader(文字列名, 文字列値) {#ariaid-title27}

REST メッセージ内の HTTP ヘッダーを指定された値に設定します。
{#r_RMV2-setRequestHeader_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | ヘッダーの名前。 |
| value | 文字列 | 指定されたヘッダーにアサインする値。 |
[表 : 49. パラメーター]

{#r_RMV2-setRequestHeader_S_S__table_vy2_525_jq} {#r_RMV2-setRequestHeader_S_S__table_ryx_1mh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 50. 返される内容]

{#r_RMV2-setRequestHeader_S_S__table_ryx_1mh_dr}  
次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setRequestHeader("Accept","Application/json");

## RESTMessageV2 - setRequestorProfile(文字列 requestorContext, 文字列 requestorId) {#ariaid-title28}

別の要求者に関連付けられた OAuth アクセストークンを取得するために、REST メッセージのデフォルトの要求者プロファイルを上書きします。
このメソッドは、OAuth 2.0 認証を使用するように構成された REST メッセージにのみ適用されます。このメソッドはオプションであり、ほとんどの構成では不要です。
{#r_RMv2-setRequestorProfile_S_S__table_c4t_2my_lt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| requestorContext | 文字列 |   |
| requestorId | 文字列 |   |
[表 : 51. パラメーター]

{#r_RMv2-setRequestorProfile_S_S__table_c4t_2my_lt} {#r_RMv2-setRequestorProfile_S_S__table_d4t_2my_lt__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 52. 返される内容]

{#r_RMv2-setRequestorProfile_S_S__table_d4t_2my_lt}

## RESTMessageV2 - setStringParameter(文字列名, 文字列値) {#ariaid-title29}

REST メッセージレコードから指定された名前の REST メッセージ関数変数を指定された値に設定します。
値内の XML 予約文字は、同等のエスケープ文字に変換されます。xml の予約文字をエスケープせずに変数を設定するには、 setStringParameterNoEscape を使用します。
{#r_RMV2-setStringParameter_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | REST メッセージ変数の名前。このパラメーターに値を割り当てる前に、REST メッセージレコードでこのパラメーターを定義する必要があります。 |
| value | 文字列 | 変数を割り当てる値。 |
[表 : 53. パラメーター]

{#r_RMV2-setStringParameter_S_S__table_vy2_525_jq} {#r_RMV2-setStringParameter_S_S__table_c1n_zlh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 54. 返される内容]

{#r_RMV2-setStringParameter_S_S__table_c1n_zlh_dr}  
次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameter("s","NOW");

## RESTMessageV2 - setStringParameterNoEscape(文字列名, 文字列値) {#ariaid-title30}

REST メッセージレコードから指定された名前の REST メッセージ関数変数を指定された値に設定します。
このメソッドは setStringParameter と同等ですが、XML の予約文字をエスケープしません。
{#r_RMV2-setStrParamNoEscape_S_S__table_vy2_525_jq__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | REST メッセージ変数の名前。このパラメーターに値を割り当てる前に、REST メッセージレコードでこのパラメーターを定義する必要があります。 |
| value | 文字列 | 変数を割り当てる値。 |
[表 : 55. パラメーター]

{#r_RMV2-setStrParamNoEscape_S_S__table_vy2_525_jq} {#r_RMV2-setStrParamNoEscape_S_S__table_yrh_zlh_dr__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 56. 返される内容]

{#r_RMV2-setStrParamNoEscape_S_S__table_yrh_zlh_dr}  
次の例では、 <var class="keyword varname">REST_message_record</var> をインスタンスの REST メッセージレコードの名前に置き換えます。

    var sm = new sn_ws.RESTMessageV2("<REST_message_record>","get"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameterNoEscape("s","NOW");


