Liefert einen Bericht oder eine Liste von URLs zu den Einzelseiten eines Berichts.
URLs
GET /api/v1/report/{TemplateID}/export
GET /api/v1/report/{TemplateID}/export/{ExportProfileID}
Falls ExportProfileID nicht angegeben wird, wird das Defaultprofil der Berichtsvorlage verwendet.
Optionale Parameter
Übergabe möglich in URL als ?param=value oder Form-Encoded im Request-Body.
Name |
Werte |
Default |
Funktion |
nocache |
true/ false |
false |
Wenn true, wird immer ein Export ausgelöst und nicht auf den Cache zurückgegriffen |
zip |
true/ false |
false |
Wenn true, werden alle exportierten Dateien gezippt und das Archiv zurückgeliefert |
resulttype |
firstpage/ pagelinks |
firstpage |
Wenn "firstpage", wird die erste exportierte Datei direkt zurückgeliefert. Weitere Dateien werden ignoriert. Wenn "pagelinks", wird ein Objekt vom Typ "ExportResult" (s. unten) als JSON oder XML serialisiert zurückgeliefert, das die Pfade aller erzeugten Dateien enthält. |
format |
json/ xml |
json |
Legt das Format fest, mit dem das ExportResult-Objekt serialisiert wird, falls für resulttype "pagelinks" angegeben wurde. |
$parameter |
String(s) |
- |
Alle URL-Parameter, die mit $ beginnen, werden als Berichtsparameter an den Export durchgereicht $param=value belegt den Berichtsparameter @param mit dem Wert 'value'. Die Werte der Parameter müssen generell URL-encoded werden (Umlaute, Sonderzeichen etc.) gemäß RFC 3986 (wie im Browser) Datumswerte müssen ISO 8601-formatiert sein (ohne Zeitzonenangabe), z. B. 2015-04-28T04:07:02 Mehrere Werte für einen Parameter werden mit Semikolon getrennt, z. B. $categories=1;2 |
Rückgabe
Der Request läuft solange, bis der Bericht erzeugt wurde (Code 200) oder ein Fehler aufgetreten ist.
▪ Falls resulttype=firstpage:
Es wird die erste erzeugte Datei zurückgeliefert, bei mehreren JPGs also nur das erste. In der Response wird der Content-Type-Header auf den MIME-Typ der erzeugten Datei gesetzt. Falls die zip-Option gesetzt wurde, wird das Zip-Archiv mit allen erzeugten Dateien zurückgeliefert.
▪ Falls resulttype=pagelinks
Es wird ein ExportResult-Objekt (siehe unten) zurückgeliefert, das die URLs aller erzeugten Dateien enthält. Diese sollten innerhalb weniger Minuten (< 5) abgerufen werden, da der Report Server die Dateien sonst bereits wegräumen könnte.
Fehlercodes (zusätzlich zu Allgemeine Fehlercodes)
Statuscode |
Statustext |
Erläuterung |
500 |
- |
Fehler beim Export. Eine lokalisierte Fehlermeldung befindet sich im Request Body. |
404 |
ERR_INVALID_TEMPLATE |
Berichtsvorlage nicht gefunden. |
404 |
ERR_INVALID_EXPORTPROFILE |
Exportprofil nicht gefunden. |
403 |
ERR_ACCESS_DENIED |
Keine Zugriffsrechte auf Berichtsvorlage / Datenquelle. |
410 |
GONE |
Kann auftreten wenn resulttype=pagelinks. Die angeforderte Datei wurde bereits vom RS weggeräumt, da sie nicht rechtzeitig abgerufen wurde. |
Rückgabe-Typ: ExportResult
Wird zurückgeliefert (als XML oder JSON), wenn ein Bericht mit mehreren Dateien abgerufen wird (und der resulttype-Parameter = "pagelinks" war).
▪ FileUrls: ist ein String-Array mit absoluten URLs zu den erzeugten Dateien. Diese sind nur für kurze Zeit abrufbar und werden danach gelöscht! Falls die Datei nicht mehr verfügbar ist, liefert der Server 410 GONE
▪ ExpiresOnUTC: ist ein ISO-8601 formatiertes Datum (UTC-Zeit), ab dem der Bericht nicht mehr gültig ist (entspricht internen Cache-Zeit vom RS, aber NICHT der Zeit, zu der die Dateien weggeräumt werden)
▪ IsFromCache: ist true, wenn der Bericht aus dem RS-Cache geliefert und nicht neu exportiert wurde.
▪ RelativeFilePaths: ist ein String-Array, das die relativen Dateipfade der Dateien in FileUrls enthält (relativ zu der Datei, die die erste Seite des Berichts enthält). Beispiel: 'images/page1/chart2.jpg'. Die Reihenfolge der beiden Arrays ist gleich, sodass der relative Pfad in RelativeFilePaths[i] zur der Datei gehört, die unter FileUrls[i] heruntergeladen werden kann.
▪ FirstPageFilePath: enthält den relativen Pfad der Datei (in der Regel einen einfachen Dateinamen), in der sich die erste Seite des Berichts befindet. Beispiel beim HTML-Export: 'index.html'.
Als XML
<?xml version="1.0" encoding="utf-16"?>
<ExportResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ReportName>delayed test</ReportName>
<IsFromCache>true</IsFromCache>
<FileUrls>
<string>http://<servername>/rs29/api/v1/report/2551186E-F854-4D1A-ACAE-8ABA02241AE2/tempresult/Rjg3ODZGMUQtQ0Y0RC00QjlELTlFQjUtQTAxRUQ3Mzc1QTRFL3Jlc3VsdC56aXA/result</string>
</FileUrls>
<ExpiresOnUTC>2015-04-13T21:34:52</ExpiresOnUTC>
</ExportResult>
Als JSON
{
"ReportName": "delayed test",
"IsFromCache": true,
"FileUrls": [
"http://<servername>/rs29/api/v1/report/2551186E-F854-4D1A-ACAE-8ABA02241AE2/tempresult/Rjg3ODZGMUQtQ0Y0RC00QjlELTlFQjUtQTAxRUQ3Mzc1QTRFL3Jlc3VsdC56aXA/result"
],
"ExpiresOnUTC": "2015-04-13T21:34:52"
}