在html页面中加入java,在HTML页面中嵌入Power BI报告

您可以通过ADAL.js或任何其他AJAX \ HTTP库创建令牌

function embedReportAndSetTokenListener(setAccessToken = false,

reportId,

groupId,

datasetId,

accessLevel,

baseUri,

embedUrl) {

// Generate embed token

generateEmbedToken(reportId, groupId)

.then(function( Token ) {

var embedToken = Token.token;

// set config for embedding report

var config = createConfig(embedToken,embedUrl,reportId);

// Get a reference to the embedded report HTML element

var embedContainer = $('#embedContainer')[0];

// Embed the report and display it within the div container.

var report = powerbi.embed(embedContainer, config);

// Report.off removes a given event handler if it exists.

report.off("loaded");

// Report.on will add an event handler which prints to Log window.

report.on("loaded", function() {

// Set token expiration listener

setTokenExpirationListener(Token.expiration,

2 /*minutes before expiration*/,

reportId,

groupId);

});

});

}

function setTokenExpirationListener(tokenExpiration,

minutesToRefresh = 2,

reportId,

groupId){

// get current time

var currentTime = Date.now();

var expiration = Date.parse(tokenExpiration);

var safetyInterval = minutesToRefresh* 60 * 1000;

// time until token refresh in milliseconds

var timeout = expiration - currentTime - safetyInterval;

// if token already expired, generate new token and set the access token

if (timeout<=0)

{

console.log("Updating Report Embed Token");

updateToken(reportId, groupId);

}

// set timeout so minutesToRefresh minutes before token expires, token will be updated

else

{

console.log("Report Embed Token will be updated in " + timeout + " milliseconds.");

setTimeout(function() {

updateToken(reportId, groupId);

}, timeout);

}

}

function updateToken(reportId, groupId) {

// Generate new EmbedToken

generateEmbedToken(reportId, groupId)

.then(function( Token ) {

// Get a reference to the embedded report HTML element

var embedContainer = $('#embedContainer')[0];

// Get a reference to the embedded report.

var report = powerbi.get(embedContainer);

// Set AccessToken

report.setAccessToken(Token.token)

.then(function() {

// Set token expiration listener

// result.expiration is in ISO format

setTokenExpirationListener(Token.expiration,2 /*minutes before expiration*/);

});

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值