Forum Discussion

marcobaciga's avatar
marcobaciga
Helper I
9 years ago
Solved

Integration Power BI Desktop report to PHP application with PowerBI API

Hi,

is it possible integrate my php application a report or a tile powerbi using PowerBI API?

Can you put the php code to do its?

 

Thank you

 

Marco

  • Hi, i have tried this solution.

    And when i run web site i receive a mistake.

    Promise: not definited

     

    in this part of code:

     

         var promise = new Promise(function (resolve, reject) {
                    deferred.resolve = resolve;
                    deferred.reject = reject;
                });
                deferred.promise = promise;
                return deferred;

     

    what cani do?

     

    Marco

     

3 Replies

  • Eric_Zhang's avatar
    Eric_Zhang
    Microsoft Employee

    marcobaciga

    The core of embedding Power BI reports is using a <iframe> tag in a HTML page, I think it won't be a problem in PHP.

     

    <html>
    
     <script src="https://microsoft.github.io//PowerBI-JavaScript/demo/node_modules/jquery/dist/jquery.js"></script>  
     <script src="https://microsoft.github.io//PowerBI-JavaScript/demo/node_modules/powerbi-client/dist/powerbi.js"></script>
    
    <script type="text/javascript">
    
    window.onload = function () {
     
    var embedConfiguration = {
        type: 'report',  
        accessToken: 'eyJ0eXAiOiYOUR-TOKEN-HERE-pgVRA',
        embedUrl: 'https://app.powerbi.com/reportEmbed?reportId=9f841c40-b361-490b-8f08-01dd2b8e6645'  
    }; 
    
    var $reportContainer = $('#reportContainer');
     
    var report = powerbi.embed($reportContainer.get(0), embedConfiguration); 
    
    } 
    
    </script> 
    <div id="reportContainer"></div>
    
    </html>  
    

    The accessToken can be generated via ADAL for .NET, check this github page. As to how to get the accessToken in PHP, it is actually out of the topic of this forum. I'd suggest you post your question in dedeciated Azure AD forum.

    • marcobaciga's avatar
      marcobaciga
      Helper I

      Hi, i have tried this solution.

      And when i run web site i receive a mistake.

      Promise: not definited

       

      in this part of code:

       

           var promise = new Promise(function (resolve, reject) {
                      deferred.resolve = resolve;
                      deferred.reject = reject;
                  });
                  deferred.promise = promise;
                  return deferred;

       

      what cani do?

       

      Marco

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hello all,

        I tried the code but receiving the error,require help on the same.