Click or drag to resize
IQMSGetUserDocuments Method
Gets all user documents for the QlikView Server with the specified ID.

Namespace: PIX.Services.V12
Assembly: 
Syntax
List<DocumentNode> GetUserDocuments(
	Guid qvsID
)

Parameters

qvsID
Type: SystemGuid
The ID of the QlikView Server for which to retrieve user documents.

Return Value

Type: ListDocumentNode
All user documents for the QlikView Server with the specified ID.
Remarks

Only user documents that belongs to user document folders that the caller have access to will be returned.

Security note Security Note

Requires membership of local group QlikView Management API and the role Document Folder Administrator.

Examples
The following code example uses the QMS API to clear the QlikView Server cache, retrieve a registered QlikView Server and all its user documents. The names and paths of the user documents are then printed. If anything goes wrong, it prints an error message.

The service key injection is assumed to be handled behind the scenes.

C#
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();
    }
}
See Also