REST API Anwendungsbeispiele

Mit der REST API Schnittstelle des combit Report Server können Sie im Rahmen der Enterprise Edition z.B. auch aus selbst entwickelten Anwendungen heraus (plattformunabhänig, alle Programmiersprachen) auf die Funktionen des Report Server zugreifen. Der combit Report Server wird dabei ganz einfach zur separaten Reportingkomponente für Ihre anderen Programme. Die folgenden Programmierbeispiele sind im Handbuch dokumentiert und zeigen 2 von vielen Möglichkeiten, wie auf die REST API Schnittstelle zugegriffen werden kann. Zum einen mittels Kommandozeilentool (curl). Zum anderen per Windows App, die (für Windows 8.1 & Windows 10) kostenlos zum Download im Windows App Store zur Verfügung steht. Ein JavaScript Codebeispiel macht es nachvollziehbar.

Dokumentation der REST API Beispiele im Report Server Handbuch: Handbuch der Business Intelligence Lösung

1. Per Kommandozeilentool (curl) Berichte abrufen und speichern

Mit dem Zugriff auf die REST API Schnittstelle per Kommandozeilentool (curl) lassen sich Berichte von fast allen Plattformen aus abrufen. Im Beispiel wird so die Berichtsvorlage mit der ID: 2551186E-F854-4D1A-ACAE-8ABA02241AE2 einfach als PDF abgerufen und als salesreport.pdf abgespeichert.

curl "https://combitreportserver/api/v1/report/2551186E-F854-4D1A-ACAE-8ABA02241AE2/export?clientid=apiuser123&clienttoken=abc" > salesreport.pdf


2. Zugriff auf Berichte per Windows App

Die combit Report Server Client Windows App (für Windows 8.1 & Windows 10) wurde mit weniger als 700 Zeilen Code programmiert und verwendet ebenfalls die REST API Schnittstelle zur Verwaltung und Darstellung Ihrer Berichte.




3. JavaScript Codebeispiel

Das JavaScript Codebeispiel zeigt die Ausgabe eines Berichts über ein vordefiniertes Export-Profil und die Anzeige im Browser.

var host = 'http://myreportserver/rs';

// Define authentication parameters
// When requesting the exported files, do not forget to also set the authentication parameters (or headers).
var clientId = 'apiuser1';
var clientToken = 'fChzVBFn3sdibvRx5xq9BBiabxsR4uhK';
var authParameters = '&clientid=' + clientId + '&clienttoken=' + clientToken;

// Set the desired report and report output format
var templateID = '2551186E-F854-4D1A-ACAE-8ABA02241AE2';
var exportProfileID = 'F8786F1D-CF4D-4B9D-9EB5-A01ED7375A4E';

// Get object with links to exported files (resulttype=pagelinks)
// and serialize as JSON
var formatParameters = 'resulttype=pagelinks&format=json';

// construct complete URL
var apiUrl = host + '/api/v1/report/' + templateID + '/export/' + exportProfileID 
               + '?' + formatParameters + authParameters;

// Let jQuery handle the JSONP request (datatype = jsonp):
// and insert all exported files in this page
$.ajax({ url: apiUrl, dataType: 'jsonp', jsonp: 'jsonpCallback' })
.done(function( exportResult ) {
    for (var i=0; i < exportResult.FileUrls.length; i++) {
      var imgSrc = exportResult.FileUrls[i] + '?' + authParameters;   // authParameters are required again!
        $('body').append('<img src="' + imgSrc + '" />');
    }
})
.fail(function(xhr, textStatus, errorThrown) {
    window.alert(object);
});

 

Last update: 2017-01-31
+49 (0) 7531 90 60 10