Power BI Bookmark for Embedded report: Capture api no funciona

Un usuario Pregunto ✅

MaheshMole

Estamos tratando de mostrar todos los marcadores, capturarlos y aplicarlos mediante la API de marcadores de secuencias de comandos Java de Power BI (API de secuencias de comandos Java de marcadores) en nuestra aplicación que utiliza informes integrados.

La API de captura no funciona para los informes integrados de Power BI. ¿Sabemos cómo podemos capturar el marcador en Power BI Embedded?

Podemos aplicar y mostrar «Marcadores de informes» mediante scripts Java de Power BI en informes incrustados.

La documentación (https://azure.microsoft.com/en-us/updates/power-bi-embedded-bookmarks-api) muestra que podemos capturar pero no funciona y no tenemos ningún error.

kohder

@abdelsolis

Compruebe la versión de su paquete powerbi-client.

En mi caso encontré que un entorno ejecutaba la versión 2.15.1 estaba planteando esta excepción.

No estoy seguro de cuál es el problema con esta versión, pero si actualiza explícitamente su paquete.json para apuntar 2.14.1 el problema parece desaparecer.

abdelsolis

Hola tios.

Estoy tratando de exportar a un archivo pdf un informe power bi incrustado en una aplicación personalizada con los valores actuales del informe, pero cuando uso esta función: let captureBookmark = report.bookmarksManager.capture(); este error me muestra:

mensaje: «captureBookmarkFailed», mensaje detallado: «Solicitud de marcador no válida», nivel: 3.

Entonces, me preguntaba si alguien tuvo el mismo error y cómo lo resolvió.

Gracias por adelantado.

Hola @MaheshMole,

¿Esta api no funciona de tu lado? Según este documento, debe guardarse en la base de datos de la aplicación y no será válido después de cambiar el informe

15.jpg

Atentamente,

MaheshMole

En respuesta a v-tapa-msft

Estas llamadas devuelven algunos objetos con estado y nombre de marcador

 // Capture the current view
    this.embedReport.bookmarksManager.capture().then( capturedBookmark  =>
    {
      // Applied previously captured state
      this.embedReport.bookmarksManager.applyState(capturedBookmark.state).then( r =>{
        debugger;
      }).catch( err => {
        console.log("Error while capture bookmark" +  err);
      });
    });

Pero cuando llamo a getBookmarks, no devuelve ningún marcador capturado. Este getBookmarks solo no funciona. Podemos aplicar marcadores usando el estado capturado en diferentes sesiones.

¿Sabes cómo podemos hacer que esta API de getBookmarks funcione?

 this.embedReport.bookmarksManager.getBookmarks().then( bookmarks => {
            bookmarks.forEach( b => console.log("Bookmark Name:" + b.name + ", State:" + b.state));
          }).catch( err => {
            console.log("Error while getBookmarks Error:" +  err);
          });

lianaalezambori

En respuesta a MaheshMole

Hola,

¿Resolviste el problema?

Traté de usar Capture Bookmarks en un informe incrustado en LocalHost siguiendo los pasos de aquí: https://app.powerbi.com/embedsetup/AppOwnsData?session_id=7f09dbe3-8fc1-45c1-ac0c-adb3a028b171

Creo en MS VIsual Studio un nuevo script de archivo donde copié el código desde aquí: https://github.com/microsoft/PowerBI-JavaScript/blob/master/demo/v2-demo/live_showcases/bookmarks/sh…

Refiero este script en EbedReport.cshtml ( ), pero cuando ejecuto el código, nada cambia en la página donde está incrustado el informe.

¿Cómo debo proceder?

¡Gracias!

Deja un comentario

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