Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hi everyone,
I installed an instance of Power BI Server with some reports on a computer and I can view the reports in embed version inside a web-app by adding the parameter "?rs:embed=true" to the report URL in a iframe. My PBI Server is installed with Evaluation License.
Can I use REST API to get reports from my Power BI Server? Note that my reports are on my Server and not on app.powerbi.com.
Can I get this functionality with an Evaluation for the moment or is the Premium license necessary to call my PBI Server via REST from my angular web-app?
Thanks in advance.
Best regard.
Salvatore
Solved! Go to Solution.
The simplest of the PBIRS API calls is as shown in the screenshot.
Here is the code if you want to invoke the same API call using PowerShell
$Cred = Get-Credential
$Url = "http://powerbi.local/Reports/api/v2.0/Me"
#Invoke-RestMethod -Method 'GET' -Uri $Url -UseDefaultCredentials -OutVariable UserContext
Invoke-RestMethod -Method 'GET' -Uri $Url -Credential $Cred -OutVariable UserContext
echo $UserContext
Here is the list of PBI RS APIs that you can play with.
Please accept the solution, if you agree.
Cheers,
Hari T
You can set your cedentials at the GET request level by choosing the Authorization method as "NTLM Authentication".
This is when you are on windows and using Windows Authentication. You can also set the Domain of your Org. in the advanced properties.
Cheers,
Hari T
There is no functional difference between evaluation edition and full enterprise, aside from a timebomb and licensing rules. You can use the evaluation edition for purposes of dev/test and demo's. Running it in any production evironment will require the appropriate SQL enterprise core or PowerBI premium licenses.
Thank you for your reply!
So, how can I obtain the embedded token for my REST calls to PBI Server? I tried to implement a REST call from an Angular app but I didn't know the correct way to get this token.
My reports are published on a PBI Server instead of PBI Services (app.powerbi.com).
Thank you!
Best regards.
I haven't tried Angular to make the Rest Api calls but used powershell/postman to make the calls. You can set the security context at the request level or Collection level while making an API call. This worked like a charm for me.
Cheers,
Hari T
The simplest of the PBIRS API calls is as shown in the screenshot.
Here is the code if you want to invoke the same API call using PowerShell
$Cred = Get-Credential
$Url = "http://powerbi.local/Reports/api/v2.0/Me"
#Invoke-RestMethod -Method 'GET' -Uri $Url -UseDefaultCredentials -OutVariable UserContext
Invoke-RestMethod -Method 'GET' -Uri $Url -Credential $Cred -OutVariable UserContext
echo $UserContext
Here is the list of PBI RS APIs that you can play with.
Please accept the solution, if you agree.
Cheers,
Hari T
Hey @Anonymous, I'm trying to call Power BI to rest APIs from an Angular Application using HTTP get request, also passing all the required params and the Auth token through the request header but getting 304 forbidden error in response.
The strange thing is the same request is working through the Postman with the same request header and params.
I'm not sure what causing this issue...
The GET call in my example returns the User Context properties.
To answer your question, it is the UserID which is stored as GUID in ReportServer metadata.
Cheers,
Hari T
Hi Harikishant. Thank you.
I want to accept your answer as a solution, but there is still something missing!
Are you speaking about the "UserID field in "Users" table into the PBI Server database?
However, in my case, I receive "401 Unauthorize".
I sent a GET request with Postman to PBI Server WebPortal URL and WebService URL without body and with only "Content-Type"="application/json" as Header.
My question is: where should I set the credentials before send the request to obtain the authorization?
Many thanks.
You can set your cedentials at the GET request level by choosing the Authorization method as "NTLM Authentication".
This is when you are on windows and using Windows Authentication. You can also set the Domain of your Org. in the advanced properties.
Cheers,
Hari T
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.