Erste Schritte
Die Qlik NPrinting API ist eine REST-API, die für die programmatische Verwaltung der Qlik NPrinting Objekte verwendet wird. Eine Teilmenge der Funktionen der Qlik NPrinting Webkonsole steht über die API zur Verfügung.
Die in der Qlik NPrinting Webkonsole gehandhabten Objekte werden in der API als JSON-Elemente dargestellt. Diese Elemente haben Eigenschaften, die den Einstellungen in der Qlik NPrinting Webkonsole entsprechen. Die API umfasst eine Reihe von Endpunkten, anhand derer Elemente für Apps, Benutzer, Gruppen, Berichte usw. erstellt, abgerufen, aktualisiert und gelöscht werden können. Für alle Anforderungen werden die zurückgegebenen Daten auf der Grundlage der Benutzerberechtigungen gefiltert. Wenn also ein Benutzer keinen Zugriff auf ein bestimmtes Element hat, wird dieses Element in der Antwort nicht zurückgegeben.
Ein Benutzer muss über ein zugeordnetes Domänenkonto verfügen, um sich bei der API als authentifizierter Windows-Benutzer anzumelden. Weitere Informationen zum Konfigurieren eines Domänenkontos finden Sie unter Erstellen von Benutzern.
Damit Sie sich mit der API vertraut machen können, werden im Folgenden einige einfache Beispiele vorgestellt, in denen ein REST-Client mit dem Namen "Postman" verwendet wird. Sie lernen Folgendes:
- Mit Ihren Benutzeranmeldedaten eine Verbindung herstellen und sich authentifizieren
- Eine Liste der Apps abrufen
- Ein Element aktualisieren
- Einen Filter erstellen
Bevor Sie beginnen, müssen Sie:
-
Postman über folgende URL installieren:
- Die URL des Computers kennen, auf dem Qlik NPrinting Server installiert ist.
Windows-Authentifizierung
Die Windows-Authentifizierung muss aktiviert sein, damit externe Verbindungen wie GET- und POST REST-Verbindungen normal funktionieren. Diese Einstellung kann in der Qlik NPrinting-Webkonsole unter Admin> Einstellungen > Authentifizierung aktiviert oder deaktiviert werden.
Verbinden mit Qlik NPrinting APIs
Standardmäßig überwacht Qlik NPrinting Server Port 4993 auf REST-Anforderungen, daher lautet die URL:
https://NPrinting.server.name:4993/api/v1/<path>
Authentifizieren mit Ihren Benutzeranmeldedaten
Vor der Arbeit mit der NPrinting API müssen Sie sich mit Ihren Benutzeranmeldedaten authentifizieren.
Im folgenden Beispiel erfolgt die Authentifizierung mit dem aktuellen Windows-Benutzernamen.
Öffnen Sie Postman und füllen Sie die unten angegebenen Felder aus. Ersetzen Sie dabei NPrinting.server.name durch die URL des Computers, auf dem Ihr Qlik NPrinting Server installiert ist.
Abrufen einer Liste der Apps
Der folgende Endpunkt gibt eine vollständige Liste der Qlik NPrinting Apps zurück, zu deren Anzeige der aktuelle Benutzer berechtigt ist.
Öffnen Sie Postman und füllen Sie die unten angegebenen Felder aus. Ersetzen Sie dabei "NPrinting.server.name" durch die URL des Computers, auf dem Ihr Qlik NPrinting Server installiert ist.
Die Antwort umfasst die ID, den Titel und andere Einzelheiten zu jeder App.
Aktualisieren eines Elements
Sie können bestimmte Elemente über die API mithilfe der PUT-Methode aktualisieren. Wenn Sie ein Element aktualisieren, kann Qlik NPrinting Server ausgelassene Eigenschaften durch Standardwerte ersetzen. Daher wird empfohlen, bei einer Aktualisierung immer das ganze Element einzuschließen.
In diesem Beispiel wird die Eigenschaft email des Elements users aktualisiert.
So aktualisieren Sie das Element:
- Wenn Sie die ID des zu aktualisierenden Benutzers nicht kennen, geben Sie in Postman den folgenden Pfad ein und senden Sie eine GET-Anforderung:
/users
Suchen Sie in der Antwort nach der Benutzer-ID.
- Hängen Sie die Benutzer-ID an den Pfad users in Postman an und senden Sie eine GET-Anforderung:
/users/{id}
Die Antwort gleicht der Folgenden:
}{ "data": { "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "abc@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
- Kopieren Sie im zurückgegebenen Element den von den inneren Klammern eingeschlossenen Inhalt und fügen Sie ihn in den Textkörper einer neuen PUT-Anforderung ein.
- Ändern Sie den Wert für email.
- Fügen Sie die Eigenschaft "password" und den entsprechenden Wert zum Element hinzu. Der Textkörper der Anforderung gleicht dem folgenden Beispiel:
{ "password": "test", "id": "113ac265-163e-4feb-854e-ade3cdafc837", "email": "xyz@example.com", "created": "2018-02-22T16:17:18Z", "lastUpdate": "2018-02-28T18:20:57Z", "enabled": true, "userName": "Test", "domainAccount": "domain\\test", "timezone": "Europe/Rome", "locale": "En", "folder": "test folder", "subFolder": "test subFolder" }
-
Senden Sie mit dem aktualisierten Element im Textkörper eine PUT-Anforderung mit dem folgenden Pfad:
users/{id}
In diesem Beispiel ist {id} 113ac265-163e-4feb-854e-ade3cdafc837.
- Senden Sie unter Verwendung des gleichen Pfads eine GET-Anforderung, um die Änderung zu überprüfen.
Erstellen eines Filters
Anhand der POST-Methode können Sie Filter für Aufgaben, Berichte, Benutzer und Objekte über die API erstellen. In diesem Beispiel wird ein einfacher Filter für CategoryName erstellt, ein Feld in der Datenquelle einer Vertriebsanwendung.
- Um einen Filter zu erstellen, benötigen Sie die IDs der App und der Verbindung, auf die der Filter angewendet werden soll.
Senden Sie zum Abrufen der IDs eine GET-Anforderung mithilfe von Postman an jeden der beiden folgenden Pfade:
/apps
/connections
Um beispielsweise die App-ID abzurufen, senden Sie eine GET-Anforderung an NPrinting.server.name:4993/api/v1/apps.
Suchen Sie in den Antworten nach den IDs.
- Das folgende Beispiel zeigt Code, der die App- und Verbindungs-ID im Textkörper einer POST /filters-Anforderung enthält:
{ "appId": "de867383-3d6a-4f37-8fe5-387552c60d3f", "enabled": true, "name": "AverageSaleByCategory", "description": null, "fields": [ { "connectionId": "9a7b1016-8d22-46ac-a384-158f715547a7", "name": "CategoryName", "overrideValues": false, "values": [ { "value": "Badekleidung", "type": "text" }, { "value": "Herrenkleidung", "type": "text" }] }] }
Die Antwort enthält die ID des neu erstellten Filters, der in der location-Kopfzeile zurückgegeben wird.
Nächste Schritte
Nachdem Sie jetzt einige Anforderungen in der Qlik NPrinting API gesehen haben, können Sie einige der anderen API-Endpunkte ausprobieren, um beispielsweise eine neue Aufgabenausführung zu starten.
Die folgenden zusätzlichen Ressourcen können Ihnen dabei helfen: