Get SharePoint data without the user’s permission in a PowerApp

Coffee PowerApp

PowerApps uses the rights of the user that started the PowerApp. And when the PowerApp loads it will ask the user for permission to use his account to connect to the different connections the PowerApp uses.

As an example, I created a PowerApp that retrieved and displayed different types of coffee from a SharePoint list. As soon as I share the PowerApp and open it with another user you get the following screen:

PowerApps asks the user for permission

To ensure that the user does not receive this message, I have found a workaround using Flow. You can call a Flow from PowerApps and get data back from it. If you simply call a Flow from PowerApps and read the SharePoint list from that Flow, you will still receive this message. But if you call a Flow from PowerApps that calls on a second Flow, you will not get that message.

PowerApps get SharePoint list data without users permission

You do have to split the data that you receive from Flow because it is a string. So just save the data into a string and split the string to save it into an array.

UpdateContext({strFlowReturn: Flow1.Run()});
Set(arrFlowReturn,Split(strFlowReturn.data,";"));

Change default browser language

When you create Flows and PowerApps you often seek the help of Google. Sometimes it’s just easier to search for the solution on forums, YouTube or sites like this one. And when you do find a solution you will see that almost all of the examples are in English. At that time you don’t want to waste time and energy with searching for the translation of that particular action or formula. So if you haven’t done this already, change the language of your browser into English.

I use Google Chrome (love the profiles) for working with Flow and PowerApps. To change the language press the three dots in the top right and click on Settings (in you’re own language of course). A new page opens, click on the bottom on Advanced. Scroll down till you see the language settings section. Change it into English and restart the browser.