---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

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

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

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：3分

RESTAPIResponseStream API には、スクリプト化された REST API 応答ストリームに直接書き込むことができるメソッドが用意されています。

[スクリプト済み REST API](https://servicenow-prod.fluidtopics.net/rqlU4~W6X4mtyFzdx98uoA "Scripted REST API 機能を使用すると、アプリケーション開発者はカスタム Web サービス API を構築できます。") 機能で Web サービス API をビルドするには、RESTAPIResponseStream メソッドを使用します。

この API は `sn_ws` 名前空間で実行されます。  
注:  
このタイプのオブジェクトはインスタンス化できません。このタイプのオブジェクトは自動的に作成され、Scripted REST API リソーススクリプトでのみアクセスできます。

## RESTAPIResponseStream - writeStream(オブジェクトstream) {#ariaid-title2}

入力ストリームを応答ストリームに書き込みます。
writeStream() メソッドを呼び出す前にコンテンツタイプとステータスコードを設定する必要があります。そうしないと、応答が失敗します。writeStream() メソッドを呼び出した後は、これらの値を変更できません。  
注:  
サードパーティのサービスからストリームを取得するのは、スクリプト作成者の責任です。
{#r_SSRSW-writeStream_O__table_c2x_wnb_sr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| stream | オブジェクト | サードパーティのサービスからの添付ファイルまたは応答ストリーム。 |
[表 : 1. パラメーター]

{#r_SSRSW-writeStream_O__table_c2x_wnb_sr} {#r_SSRSW-writeStream_O__table_d2x_wnb_sr__entry__2}

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

{#r_SSRSW-writeStream_O__table_d2x_wnb_sr}  
次の例は、スコープ対象のアプリケーション用のコードです。

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

        response.setContentType('application/json');
        response.setStatus(200);

        var gsa = new GlideSysAttachment();
        var attachmentStream = new gsa.getContentStream(<sys_id of attachment>); 
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);

    })(request, response);

次の例は、グローバルアプリケーション用のコードです。

    (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

        response.setContentType('application/json');
        response.setStatus(200);

        var attachmentStream = new GlideSysAttachmentInputStream(<sys_id of attachment>);
        var writer = response.getStreamWriter();
        writer.writeStream(attachmentStream);

    })(request, response);

## RESTAPIResponseStream - writeString(文字列 data) {#ariaid-title3}

文字列データを応答ストリームに書き込みます。
writeString() メソッドを呼び出す前にコンテンツタイプとステータスコードを設定する必要があります。そうしないと、応答が失敗します。writeString() メソッドを呼び出した後は、これらの値を変更できません。
{#r_SSRSW-writeString_S__table_gck_rcr_qr__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| data | 文字列 | 応答データに追加する文字列。 |
[表 : 3. パラメーター]

{#r_SSRSW-writeString_S__table_gck_rcr_qr} {#r_SSRSW-writeString_S__table_hck_rcr_qr__entry__2}

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

{#r_SSRSW-writeString_S__table_hck_rcr_qr}  

    response.setContentType('application/json');
    response.setStatus(200);
    var writer = response.getStreamWriter();
    var body ={
      name:user1,
      id: 1234,
      roles: [
        {
          name: admin
        },
        {
          name: itil
        }
      ]
    }
    writer.writeString("{'name':'user','id':'1234'}");
    writer.writeString(JSON.stringify(body));


