There are two different ways to get the list.
1) If you use engine API using Ntlm connection, then you are restricted to to your profile rights defined in QMC.
You can change user type by using
var EngineLocation = Qlik.Engine.Location.FromUri(uri);
EngineLocation.AsDirectConnection => To specify another account
EngineLocation.AsStaticHeaderUserViaProxy => By sending headers
2) I personally use Repository API, it is equivalent to QMC console instead of Engine / HUB.
Here is how to connect :
And the request to retrieve all apps :
Repository API gives access to all the QMC, users, nodes, rules etc, it works with HTTP requests and can need some time to setup.
Engine API gives access to apps, content and data, it is wrapped into the SDK and ready to use.
To be able to access all apps you need to have read privilege to App_* and Stream_* .
For more description see http://help.qlik.com/en-US/sense/2.2/Subsystems/ManagementConsole/Content/create-security-rules.htm