Overview
In this article, we will talk about how we can embed our Power BI report with third-party applications.
This article covers general steps that we need to perform.
Before we start, I would suggest you go to my previous articles.
- Overview of Power BI Embedded
- Register the Power BI Application in Azure AD
Now, let’s get started!
To Embed the report, we need to follow the following steps.
- Step 1. Create App Workspace in Power BI
- Step 2. Publish your report to that Workspace
- Step 3. Copy Workspace ID and Report ID
- Step 4. Copy Client ID from Azure AD
- Step 5. Generate Token
- Step 6. Embed your content in your web application.
Now, let’s elaborate!
Step 1. Create App Workspace in Power BI
- Open https://app.powerbi.com
- Create a new Workspace.
Step 2. Publish Power BI report to app Workspace
From Power BI Desktop, Go to Home > Publish > Select your App Workspace.
Step 3. Copy Workspace ID and Report ID
- Open your Power BI report from Power BI Online.
- Copy Report ID and Group Id from URL.
Step 4. Copy Client ID from Azure AD
- We have already discussed how to register the application in Azure AD. Please refer to the following URL.
- Open https://portal.azure.com
- Go to Azure AD > App Registration > Select your registered Application > Copy Application ID
Step 5. Generate Token
- The following diagram shows how Power BI API generates Embed Token.
- We will use an Azure Function to do the bulk of the work.
- First, we perform an AJAX request to get a token.
- Azure function will authenticate with the Azure AD and Generate Access token which will invoke the Power BI API to construct a JSON response that will include an Embed Token.
- The Embed Token allows the client (Power BI JavaScript Library) to embed Power BI content.
- We will discuss the coding portion in our next article!
Step 6. Embed Content in your web application
We will discuss this step in my next article.
Conclusion
These are the common steps to Embed Power BI report to your application. We will discuss more about it in my next article! Stay connected.