ドキュメントIDを取得するには?

/api/reports/{id}/jobs/render」APIを実行して出力されたレポートのデータは、ActiveReports Serverの内部にキャッシュされます。「/api/reports/{id}/jobs/export」APIなど、レポートのキャッシュデータを必要とするAPIを実行する場合、このキャッシュのID(ドキュメントID)をパラメータに設定する必要があります。

/api/reports/{id}/jobs/render」APIを実行するときに「NeedExportSupport」プロパティに"true"を設定すると、レスポンスのヘッダ「X-ARS-DocumentId」より、ドキュメントIDを取得することができます。

以下はJavaScriptで、出力したレポートのドキュメントIDを取得する一例です。

(サンプルコード)
---------------------------------------------------------------------------------------------------
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
// API実行に必要なセキュリティトークン。
//取得方法は「http://docs.grapecity.com/help/activereports-server-admin-11/#Get%20a%20Security%20Token.html」
var _securityToken = "xxxxxxxxxxxxx";
// ActiveReports 11.0J ServerのURLを設定します。
var URI = 'http://activereports_server_url:8080/';
// 実行するレポートのID。
// 取得方法は「https://activereportsserver.zendesk.com/hc/ja/articles/115009896588」
var report_id = "xxxxxxxxxxxxxx";
var xhr = new XMLHttpRequest();

function GetDocumentID() {

    var Command = URI + 'api/reports/' + report_id + '/jobs/render';
    var data = null;

    xhr = new XMLHttpRequest();
    xhr.open("POST", Command, true);
    xhr.setRequestHeader("authtoken", _securityToken);
    xhr.onreadystatechange = processResponse;

    // ドキュメントID取得のために、NeedExportSupportプロパティにtrueを設定します。
    data = "{\"ExtensionName\": \"PDF\", \"ExtensionSettings\": {NeedExportSupport:true}}";
    xhr.responseType = "json";
    xhr.send(data);
}

function processResponse() {
    if (xhr.readyState == 4) {
        if (xhr.status == 200 || xhr.status == 201) {
            // ヘッダよりドキュメントID取得
            var document_id = xhr.getResponseHeader('X-ARS-DocumentId');
            alert(document_id);

        } else {
        // エラー処理
            alert("エラー");
        }
    }
}

</script>
</head>
<body>
<input id="Button1" type="button" value="ドキュメントID取得" onclick="GetDocumentID()"/>
</body>
---------------------------------------------------------------------------------------------------

0 コメント

記事コメントは受け付けていません。