| IQMSLookupNames Method |
Namespace: PIX.Services.V12
Requires membership of local groups QlikView Management API and QlikView Administrator. |
The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.
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(); //Get a Directory Service Connector ServiceInfo dscService = apiClient.GetServices(ServiceTypes.QlikViewDirectoryServiceConnector).FirstOrDefault(); Guid docId = new Guid("12a32214-1122-112a-8099-8765ce564112"); // The document ID. //Get the task. Only the distribtion details are neede. DocumentTask someTask = apiClient.GetDocumentTask(docId, DocumentTaskScope.Distribute); if (dscService != null && someTask != null) { //Create a list with two users and one group. List<string> names = new List<string>(){"johnb","lindac","Sales", "Finance"}; //Lookup the names in the list. List<DirectoryServiceObject> dsObjects = apiClient.LookupNames(dscService.ID, names); if(dsObjects != null) { //Add the found users/groups to the receivers of all static distributions. foreach( TaskDistributionEntry distEntry in someTask.Distribute.Static.DistributionEntries) { distEntry.Recipients.AddRange(dsObjects); } //Save the task apiClient.SaveDocumentTask(someTask); } } } catch (Exception ex) { Console.WriteLine("An exception occurred: " + ex.Message); } // wait for user to press any key Console.ReadLine(); } }