Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Re: https://community.powerbi.com/t5/Developer/Integrate-PowerBI-with-Netsuite/td-p/92420
1) How do I generate a token that never expires?
I would like to use it using this sample html code:
<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 embedToken = PowerBIToken.CreateReportEmbedToken(this.workspaceCollection, this.workspaceId, report.Id,Convert.ToDateTime("2099-12-31"); var embedConfiguration = { type: 'report', accessToken: '', id: 'report ID here', embedUrl: 'https://app.powerbi.com/reportEmbed?reportId=' }; var $reportContainer = $('#reportContainer'); var report = powerbi.embed($reportContainer.get(0), embedConfiguration); } </script> <div id="reportContainer"></div> </html>
or
2) Can anyone help put together HTML sample and integrate the above code with:
https://github.com/Microsoft/PowerBI-JavaScript/wiki/Refresh-token-using-JavaScript-SDK-example
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*/); }); }); }
facing the same issu, dont understand how shuld i use the javascript-SDK code
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
8 | |
6 | |
5 | |
2 | |
2 |
User | Count |
---|---|
4 | |
4 | |
3 | |
3 | |
2 |