Click or drag to resize
IQMSGetAvailableDirectories Method
Returns a list of available directory paths for a certain type of Directory Service Provider.

Namespace: PIX.Services.V12
Assembly: 
Syntax
List<string> GetAvailableDirectories(
	Guid dscID,
	string type
)

Parameters

dscID
Type: SystemGuid
The ID of the Directory Service Connector to use.
type
Type: SystemString
The type of the Directory Service Provider.

Return Value

Type: ListString
A list of available directories.
Remarks
Security note Security Note

Requires membership of local groups QlikView Management API and QlikView Administrator.

Examples
This example retrieves all available Directory Service providers and prints the directories for each of them.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

C#
using System;
using System.Collections.Generic;
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();

            ServiceInfo dscService = apiClient.GetServices(ServiceTypes.QlikViewDirectoryServiceConnector).FirstOrDefault();
            if (dscService != null)
            {
                //Get all available Directory Services Providers
                List<DSProvider> providers = apiClient.GetAvailableDSProviders(dscService.ID);

                foreach (DSProvider provider in providers)
                {
                    Console.WriteLine("Name:" + provider.Name);
                    Console.WriteLine("Type:" + provider.Type);

                    //Get available directories for the current provider.
                     List<string> directories = apiClient.GetAvailableDirectories(dscService.ID, provider.Type);

                    Console.WriteLine("Directories:");

                    //Write all dorectories
                    directories.ForEach(Console.WriteLine);

                    Console.WriteLine();
                }                                
            }  
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
See Also