O Quick BI permite incorporar relatórios, como painéis e workbooks, de um workspace em sistemas de terceiros para integração contínua aos negócios. Esta solução aplica-se ao Quick BI Pro e ao Quick BI Standard.
Limites
A solução básica suporta apenas a incorporação de painéis e workbooks.
-
Ao incorporar uma página de entrada de dados de workbook em um ambiente de terceiros, alguns navegadores podem impedir que iframes de origem cruzada gravem cookies. Isso pode causar falha no envio de dados em páginas complexas. Por exemplo, ao abrir uma página de entrada de dados de workbook incorporada no navegador integrado do WeCom em um dispositivo iOS, o envio de dados falha após o preenchimento e a submissão.
Portanto, recomendamos usar o recurso de entrada de dados de workbook diretamente na plataforma Quick BI.
Informações preliminares
-
Para incorporar relatórios do Quick BI em seu sistema, configure a incorporação de relatórios.
No Quick BI Pro, não é possível diferenciar permissões de banco de dados após incorporar um relatório. As permissões em nível de linha não se aplicam ao relatório incorporado; as permissões correspondem às do autor do relatório. A solução de aprimoramento de segurança não é suportada.
No Quick BI Standard, é possível diferenciar permissões de banco de dados após incorporar um relatório. Assim, usuários diferentes visualizam dados distintos no mesmo relatório. A solução de aprimoramento de segurança também é suportada. Para mais informações, consulte Solução de Aprimoramento de Segurança para Controle de Permissões de Dados Incorporados e Transmissão de Parâmetros em Relatórios.
-
A Alibaba Cloud International possui cinco sites com os seguintes nomes de domínio:
Singapura: bi-ap-southeast-1.data.aliyun.com
Hong Kong (China): bi-cn-hongkong.data.aliyun.com
Malásia (Kuala Lumpur): bi-ap-southeast-3.data.aliyun.com
Alemanha (Frankfurt): bi-eu-central-1.data.aliyun.com
Indonésia: bi-ap-southeast-5.data.aliyun.com
Este tópico usa o nome de domínio do site de Hong Kong (China) como exemplo para construção da URL. Ao utilizar outros sites, substitua o nome de domínio pelo correspondente ao seu site.
Etapa 1: Ativar a incorporação para o relatório
Configure a incorporação de relatórios apenas para relatórios com estado Published.
Ative a incorporação de relatórios pelo módulo Open Platform:
-
Na página inicial do Quick BI, siga os passos da figura para acessar a página Embed Report.

-
Na página Add Embedded Report, selecione o workspace e o tipo de objeto desejados. Na lista, escolha o relatório e clique em Enable Embedding. Se a lista for extensa, pesquise o relatório digitando seu nome.
NotaAo incorporar páginas de entrada de dados de workbook em um ambiente de terceiros, observe que alguns navegadores proíbem a gravação de cookies por iframes de origem cruzada. Isso pode causar falhas no envio de dados. Portanto, recomendamos usar o recurso de entrada de dados de workbook diretamente na plataforma Quick BI.
-
Configuração de incorporação
O recurso de teste para configuração de incorporação de relatórios aplica-se apenas à solução aprimorada.
ImportanteO recurso de teste destina-se apenas a validações. Para uso em produção, conclua a Etapa 2: Obter um accessTicket via interface HTTPS e a Etapa 3: Construir a URL sem login.
Após ativar a incorporação, as soluções básica e aprimorada oferecem capacidades diferentes durante a integração:
Capacidade
Solução básica
Solução aprimorada
Usuário vinculado
Proprietário do relatório, não modificável
Personalizável, permite visualizações personalizadas
Número de visitas
Até 100.000 vezes por ticket
Ilimitado, suporta configurações personalizadas
Marca d'água
Não suportado
Suportado
(exceto se o próprio painel de dados não suportar marcas d'água)
Período de validade
Máximo de 240 minutos
Personalizável
Parâmetros globais
Não suportado
Suportado
Bloquear incorporação
Não suportado
Suportado
Número de saltos
NotaO relatório de destino do salto também deve ter a incorporação ativada.
Apenas um salto permitido.
Por exemplo, após saltar do relatório A para o relatório B, o relatório B não pode saltar para o relatório C.
Suporta número ilimitado de saltos.
Por exemplo, após saltar do relatório A para o relatório B, o relatório B pode saltar para o relatório C, e assim por diante.
Etapa 2: Obter um accessTicket via interface HTTPS
O exemplo a seguir mostra como incorporar um painel de um workspace em um sistema de terceiros.
Se a conta que ativa o acesso ao painel tiver permissões de Developer ou Analyst, ela poderá ativar permissões apenas para painéis criados por essa conta.
-
Contas com permissões de Admin podem ativar permissões para todos os relatórios no workspace.
-
Siga as etapas abaixo para obter um AccessKey ID e um AccessKey secret. Eles correspondem a accessId e accessKey.
Faça login no console do Quick BI.
-
Na página inicial do Quick BI, siga os passos da figura para obter o AccessKey ID e o AccessKey secret.

-
Obtenha o ID da conta Alibaba Cloud. Ele corresponde a aliyunUid.
Faça login na sua conta Alibaba Cloud e clique em na foto do perfil no canto superior direito para visualizar o ID da sua conta.

-
Na página de edição do relatório, obtenha o ID do relatório. Ele corresponde a worksId:

-
Obtenha o accessTicket.
Anexe os parâmetros accessId, accessKey, aliyunUid e worksId obtidos nas etapas anteriores à URL de solicitação abaixo. Em seguida, envie uma solicitação GET para obter o accessTicket.
Nota-
A conta usada para obter o accessTicket possui as seguintes restrições:
Se a conta estiver desativada em Organization Management > User Management, não será possível gerar novos accessTickets, mas os existentes continuarão funcionando.

Se a conta for excluída de Organization Management > User Management, não será possível gerar novos accessTickets nem continuar usando os existentes.

O aliyunUid serve apenas para verificar se a função atual tem permissão para ativar o acesso sem login aos relatórios da organização durante a geração do accessTicket. Ele não é usado para vinculação de identidade em relatórios incorporados de terceiros.
validityTime é um parâmetro opcional. O valor pode variar de 1 a 240. O valor padrão é 240. A unidade é minutos.
-
Para invalidar imediatamente um accessTicket, envie uma solicitação POST com os valores correspondentes de aliyunUid, accessId, accessKey e accessTicket.
http://bi-cn-hongkong.data.aliyun.com/openapi/ac3rd/ticket/invalid?aliyunUid=xx&accessId=xx&accessKey=xx&accessTicket=xx
-
-
Etapa 3: Construir a URL sem login
Esta solução não suporta autenticação para usuários vinculados. Por padrão, o relatório sem login é acessado com a identidade do proprietário do relatório.
A tabela a seguir mostra o processo de construção e exemplos.
|
Processo |
Exemplo de Painel |
Exemplo de Workbook |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O formato de construção e as URLs dos relatórios são os seguintes.
-
O formato para um painel é
https://<Quick BI domain name>/<Report preview URL>?pageId=<Report ID>&accessTicket=<AccessTicket>. A URL gerada é:https://bi-cn-hongkong.data.aliyun.com/token3rd/dashboard/view/pc.htm?pageId=dd0****83f&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6 -
O formato para um workbook é
https://<Quick BI domain name>/<Report preview URL>?id=<Report ID>&accessTicket=<AccessTicket>. A URL gerada é:https://bi-cn-hongkong.data.aliyun.com/token3rd/report/view.htm?id=<42****18ef6>&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6
-
Obtenha o nome de domínio do Quick BI.
Por exemplo, o nome de domínio do site do Quick BI em Hong Kong (China) é
bi-cn-hongkong.data.aliyun.com/. Use o nome de domínio específico do seu ambiente. -
Obtenha a URL de visualização do relatório.
As URLs da página de visualização para relatórios são as seguintes. Selecione a necessária.
Painel:
token3rd/dashboard/view/pc.htmWorkbook:
token3rd/report/view.htm
-
Na página de edição do relatório, obtenha o ID do relatório.
-
ID do Painel
Na página de edição do painel, obtenha o valor de pageId na barra de endereços.

-
ID do Workbook
Na página de edição do workbook, obtenha o valor do ID do workbook na barra de endereços.

-
-
Anexe o nome de domínio do Quick BI, a URL de visualização do relatório, o ID do relatório e o AccessTicket obtido na Etapa 2 à URL de solicitação.
Formato do Painel:
https://<Quick BI domain name>/<Report preview URL>?pageId=<Report ID>&accessTicket=<AccessTicket>Formato do Workbook:
https://<Quick BI domain name>/<Report preview URL>?id=<Report ID>&accessTicket=<AccessTicket>
-
Consultar relatórios incorporados: Na caixa de pesquisa da página de lista de relatórios, insira uma palavra-chave do nome do relatório e clique em no ícone
para buscar o relatório.Refine a busca selecionando o workspace ou o tipo do relatório.
Visualize a quantidade de relatórios incorporados. Para mais informações, consulte Visualizar a quantidade de relatórios incorporados.
Excluir um relatório incorporado: Clique em no ícone
ao lado do relatório para excluí-lo.Na página inicial do Quick BI, clique em Open Platform.
-
No painel de navegação à esquerda, clique em Embedded Analytics.
Na página Report Embedding, visualize a quantidade de relatórios incorporados em sistemas de terceiros.

-
Transmita a altura do conteúdo do iframe para a página pai.
// The Quick BI URL. You can add other URLs as needed. const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com/']; function messageListener(event) { if (quickBIURL.includes(event.origin)) { // The height passed by postMessage console.log('Quick BI Dashboard Height:', event.data.height); // The dashboard page ID passed by postMessage console.log('Quick BI Dashboard Id:', event.data.pageId); } } // Add the listener before the dashboard loads window.addEventListener('message', messageListener); -
A página pai envia um postMessage para a página do iframe para obter a altura do painel.
Observação:
O iframe é aquele que incorpora o painel do Quick BI.
Os dados transmitidos na mensagem devem incluir
{ getDashboardHeight: true }.
O bloco de código a seguir fornece um exemplo.
// The Quick BI URL. You can add other URLs as needed. const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com/']; function messageListener(event) { if (quickBIURL.includes(event.origin)) { // The height passed by postMessage console.log('Quick BI Dashboard Height:', event.data.height); // The dashboard page ID passed by postMessage console.log('Quick BI Dashboard Id:', event.data.pageId); } } // Add the listener before the dashboard loads window.addEventListener('message', messageListener); // Actively request the Quick BI dashboard height // The iframe that embeds the Quick BI dashboard const iframe = document.querySelector('iframe'); // The data passed in the message must include { getDashboardHeight: true } iframe.contentWindow.postMessage({getDashboardHeight: true}, '*');NotaUm painel do Quick BI ajusta automaticamente sua largura ao contêiner externo, o que elimina a barra de rolagem vertical e a necessidade de ajuste manual de largura.
Gerencie relatórios incorporados
Execute as seguintes operações em relatórios incorporados:
Visualize a quantidade de relatórios incorporados
Como resolver o erro "access report_tree unauthorized" durante a incorporação de relatórios
Descrição do problema
Ao usar o recurso de incorporação de relatórios de terceiros, a mensagem de erro mostrada na figura abaixo aparece.
Causas
As permissões de relatório não estão ativadas no workspace correspondente.
Solução
Siga estas etapas para ativar as permissões de relatório.
Como fazer um relatório incorporado do Quick BI ajustar automaticamente sua altura (PC)
Descrição do problema
Quando um sistema de terceiros usa um iframe para incorporar um painel do Quick BI, o painel pode exibir uma barra de rolagem porque restrições de segurança entre domínios impedem o sistema de obter a altura do conteúdo do iframe.
Solução
Ao carregar um painel, o Quick BI envia a altura do painel para a página pai via postMessage. A página pai pode recuperar a altura e o ID usando um event listener.
Realize isso de uma das duas maneiras seguintes:
Exemplo completo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
</head>
<body>
<iframe
class="quickbi-iframe-demo"
src="https://bi-cn-hongkong.data.aliyun.com//token3rd/dashboard/view/pc.htm?pageId=dd0****83f&accessTicket=fd138bcb-****-4fde-b413-81bcee59bdb6"
scrolling="no"
frameborder="0"
width="100%"
height="600">
</iframe>
<!-- <useBodyAutoHeight=true> makes the page body height adaptive. <page_Id> is the dashboard page ID. accessTicket is the token for accessing the dashboard. -->
<script>
// The Quick BI URL. You can add other URLs as needed.
const quickBIURL = ['https://bi-cn-hongkong.data.aliyun.com'];
function messageListener(event) {
if (quickBIURL.includes(event.origin)) {
// The height passed by postMessage
console.log('Quick BI Dashboard Height:', event.data.height);
// The dashboard page ID passed by postMessage
console.log('Quick BI Dashboard Id:', event.data.pageId);
}
}
// Add the listener before the dashboard loads
window.addEventListener('message', messageListener);
// The iframe that embeds the Quick BI dashboard
const iframe = document.querySelector('iframe');
// Actively request the Quick BI dashboard height
// The data passed in the message must include { getDashboardHeight: true }
iframe.contentWindow.postMessage({getDashboardHeight: true}, '*');
</script>
</body>
</html>
Como definir a largura para uma página móvel incorporada em um aplicativo de terceiros usando iframe
Descrição do problema
Devido a problemas de compatibilidade de iframe em versões anteriores do iOS, a largura do iframe pode transbordar. Isso pode fazer com que o painel role horizontalmente, tabelas de lista fixa parem de rolar, gráficos sejam truncados ou pop-ups de controle de consulta fiquem desalinhados.
Solução
Modifique o estilo do iframe.
Siga rigorosamente o código de exemplo abaixo:
iframe {
border-width: 0;
min-width: 100%;
width: 0;
*width: 100%;
height: 667px; /* The height must be a fixed value. You can set it dynamically after getting the screen height. height: 100% has compatibility issues. */
}