Zu Hauptinhalt springen

Abrufen einer Liste von Qlik NPrinting Apps

Der folgende Code erweitert das vorherige Beispiel einer .NET-Konsolenanwendung, indem eine authentifizierte Verbindung hergestellt und eine Liste von Qlik NPrinting Apps abgerufen wird. Vergessen Sie nicht, server.name.com durch Ihren tatsächlichen Qlik NPrinting Server Namen zu ersetzen.

Hinweis: Die JSON-Deserialisierungsmethode in diesem Beispiel verwendet eine Drittanbieterbibliothek von Newtonsoft, um ein JSON in ein Objekt zu konvertieren.

static void Main(string[] args) { //Create the HTTP Request (authenticate) and add required headers ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@ "https://server.name.com:4993/api/v1/login/ntlm"); CookieContainer cookies = new CookieContainer(); request.CookieContainer = cookies; request.Method = "GET"; request.UserAgent = "Windows"; request.Accept = "application/json"; // specify to run as the current Microsoft Windows user request.UseDefaultCredentials = true; try { // make the web request and return the content HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader responseReader = new StreamReader(response.GetResponseStream()); string sResponseHTML = responseReader.ReadToEnd(); Console.WriteLine(sResponseHTML); } catch (Exception ex) { Console.WriteLine(ex.Message); } //Create second HTTP request (get list of apps) and add required headers HttpWebRequest secondRequest = (HttpWebRequest)WebRequest.Create(@ "https://server.name.com:4993/api/v1/apps"); //assign cookie to request to maintain session secondRequest.CookieContainer = cookies; secondRequest.Method = "GET"; secondRequest.UserAgent = "Windows"; secondRequest.Accept = "application/json"; // specify to run as the current Microsoft Windows user secondRequest.UseDefaultCredentials = true; try { HttpWebResponse response2 = (HttpWebResponse)secondRequest.GetResponse(); StreamReader responseReader2 = new StreamReader(response2.GetResponseStream()); string sResponseHTML2 = responseReader2.ReadToEnd(); dynamic jsonObj = JsonConvert.DeserializeObject(sResponseHTML2); foreach (var app in jsonObj.data.items) { Console.WriteLine(app.name); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }