Discussion board where members can learn more about Integration, Extensions and API’s for Qlik Sense.
There is an issue with Qlik Sense API that results in reloading not published apps only. I am calling the API with .NET SDK IApp.DoReload and it returns 'true' result, so I would expect the app had been reloaded which is not true. Is there any philosophy behind it? I have the necessary permissions (being the author). Note that all apps reload correctly when reloading by using QMC. The apps contain custom load script. Any help or walkaround appreciated. Thank you.
If you have the permissions to reload the app then it should work.
However are you calling DoSave after your reload has finished so your new data model persists?
Thank you for mentioning DoSave. From the developer documentation is hard to reason about mandatory usage of this method. It does work for published apps, too. Yet one has to be careful, because I have noticed that once DoSave is called the application identifiers enumeration from ILocation.GetApplicationIdentifiers is modified to contain only one item (the app DoSave has been called on). Happily I have found a walkaround. It takes only to save the application identifiers collection to an array and enumerate the array.
Please see the related issue: Qlik Sense API DoSave() is not effective for published appsas it became clear that ability to call the right API is not the same as one being able to get the results. Are you sure that DoSave() can be called on published apps?
Yes, DoSave is the correct method. However with default security rules in place a user is not able to save published apps. Normally you would connect directly to QIX as a service user and perform the the reload, the benefit of being a service user is that they are exempt of the security rules by default.
You could of course assign update and reload privileges on published apps to the user running your reqeusts and you should no longer get a 403 back.
What do you mean by 'reload privileges'? Please name the specific privilege, so I can use Qlik audit capabilities to find whether it is set. I can see that the user has got all available permissions on all apps. It's in RootAdmin role, so this is what I would expect to be. Moreover it fails to reload occassionaly with no error returned and fails always to save.
Could you elaborate on connecting directly to QIX? Do you mean QRS (Qlik Sense Repository Service API ‒ Qlik Sense)? I understand that the service user is a user that Qlik Windows Services use to run.
To be able to reload published apps you need to have read and update privilege to App_* and read privilege on ReloadTask_* .
For more description see http://help.qlik.com/en-US/sense/2.2/Subsystems/ManagementConsole/Content/create-security-rules.htm