El iframe de informe incrustado de Power BI arroja un error de javascript

Un usuario Pregunto ✅

Siannone

Estamos desarrollando una solución que requiere que coloquemos un informe incrustado en nuestras páginas utilizando la API REST de Power BI.

El problema que tenemos en este momento es que hay algo mal con el código iframe JS pero no tenemos idea si es algo causado por nosotros o simplemente un error.

Para insertar el informe, seguimos este artículo: https://azure.microsoft.com/en-us/documentation/articles/power-bi-embedded-iframe/.

Una vez que se carga la página, recibimos el siguiente error proveniente del iframe de Power BI (que está atascado en una animación de logotipo que se desvanece):

Datos de mensaje no válidos: jsCommon no está definido

Al inspeccionar el código dentro del iframe, encontramos la línea que está causando el problema:

// Handle message from parent window
function receiveMessage(event) {
    if (event.data) {
        try {
            // This is the line that causes the exception.
            var messageData = jsCommon.JsonExtensions.isJsonString(event.data) ? JSON.parse(event.data) : event.data;

Así es como preparamos el iframe:

<iframe id="reportIframe" src="https://community.powerbi.com/t5/Developer/Power-BI-embedded-report-iframe-throws-javascript-error/td-p/{{ $powerBIReports["value'][0]['embedUrl'] }}"></iframe>
<script>

    $(document).ready(function()
    {
        var iframeReportElement = document.getElementById('reportIframe').contentWindow;
        var msg = {
            action: "loadReport",
            accessToken: "{{ $JWT }}",
            height: 500,
            width: 722
        };
        var msgTxt = JSON.stringify(msg);
        iframeReportElement.postMessage(msgTxt, '*');

        window.addEventListener('message', function (event)
        {
            console.error('PowerBI embedded error: ' + JSON.parse(event.data).error);
        });
     });

</script>

mpo

La API incorporada de PowerBI ha cambiado recientemente, por lo que es posible que el tutorial esté desactualizado.

algo relacionado: SO pregunta

Tutorial más específico y actualizado

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *