| IQMSGetUserDocuments Method |
Namespace: PIX.Services.V12
Only user documents that belongs to user document folders that the caller have access to will be returned.
Requires membership of local group QlikView Management API and the role Document Folder Administrator. |
The service key injection is assumed to be handled behind the scenes.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using QMSAPI; class Program { static void Main(string[] args) { try { // create a QMS API client IQMS apiClient = new QMSClient(); //retrieve a time limited service key ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey(); // clear the QMS's QVS object cache from user document listings // so that the any new user documents can be discovered apiClient.ClearQVSCache(QVSCacheObjects.UserDocumentList); // get a list of QVS services List<ServiceInfo> qvsServices = apiClient.GetServices(ServiceTypes.QlikViewServer); if (qvsServices.Count > 0) { // retrieve all user documents for the first QVS in the list List<DocumentNode> userDocuments = apiClient.GetUserDocuments(qvsServices[0].ID); // print the names of all user documents Console.WriteLine("The " + qvsServices[0].Name + " contains the following user documents:" + Environment.NewLine); foreach (DocumentNode userDocument in userDocuments.OrderBy(x => x.RelativePath).ThenBy(x => x.Name)) { Console.WriteLine(Path.Combine(userDocument.RelativePath, userDocument.Name)); } } } catch (Exception ex) { Console.WriteLine("An exception occurred: " + ex.Message); } // wait for user to press any key Console.ReadKey(); } }