レポートのIDを取得するには?

REST APIを使用し、レポートに対して各種操作を行う場合、そのレポートの"ID"を指定する必要があります。このIDは各リソースごとに一意になるように設定されています。レポートのIDは、ポータルからレポートのプロパティなどを参照しても表示されません。IDを取得するには以下のような方法があります。

  1. レポートをプレビューした時のURLから取得する

    レポートをポータル上でプレビューした時のURLにそのレポートのIDが表示されます。以下の画像の場合、URLの「・・・ReportId=58be0bf0541aee0fe8dc6519&ReportAction・・・」のうち、「58be0bf0541aee0fe8dc6519」がそのレポートのIDになります。

    URI.PNG

  2. REST APIを実行して取得する

    レポートの一覧を取得するREST APIの「/api/reports」メソッドを実行したときの返却値に、IDが含まれています。プログラムでREST APIを実行する方法は、プログラミング言語などによって異なります。以下のサンプルコードでは、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">
    $(function () {

    // API実行に必要なセキュリティトークン。
    //取得方法は「http://docs.grapecity.com/help/activereports-server-admin-11/#Get%20a%20Security%20Token.html」
    var _securityToken;
    // ActiveReports 11.0J ServerのURLを設定します。
    var URL = 'http://activereports_server_url:8080/';

    try {

            $.ajax({
                type: "GET",
                url: URL + 'api/reports',
                headers: {
                    'Content-Type': 'application/json',
                    'AuthToken': _securityToken,
                },
                dataType: "json"
            }).done(function (res) {
                for (var i = 0; i < res.length; i++) {
                    // 取得したレポートの一覧をセレクトボックスに表示
                    $('#_reportList').append("<option value='" + res[i]._id + "'>" + res[i].Name + </option>");
                    $('#_reportList')[0].reportList = res;
                }
            }).fail(function (xhr, status, error) {
                alert(error);
            });
        } catch (e) {
            return "error";
        }
    });

    function ShowID() {
        // 選択したレポートのIDを表示
        var ID = $("#_reportList").val();
        alert(ID);
    }
    </script>
    </head>
    <body>
    <select id="_reportList" size="30" runat="server"/>
    <input id="Button1" type="button" value="ID表示" onclick="ShowID()"/>
    </body>
    ---------------------------------------------------------------------------------------------------

0 コメント

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