Forum Discussion

varman's avatar
varman
Frequent Visitor
8 years ago

power bi embedded access token

Hi, Im very new to power bi. I just want to generate tokens. I refered few online articals to find code in javascript.  this returns errors. How can I get non expire access token? If it is expired aslo, i need to get new token

window.onload = function () {

var embedUrl=//embedUrl
var id = //id

var embedConfiguration = {
	type: 'report',
	accessToken: getAccessToken,
	id: id,
	embedUrl: embedUrl,
	settings: {
	    filterPaneEnabled: false,
		navContentPaneEnabled: true
			}
};


var $reportContainer = $('#reportContainer');

var report = powerbi.embed($reportContainer.get(0), embedConfiguration);

report.on('loaded', event => {
        report.getFilters()
            .then(filters => {
                filters.push(filter);
                return report.setFilters(filters);
            });});

report.fullscreen();
}
    
var getAccessToken = function () {

	return new Promise(function(resolve, reject) {

		var url = 'https://login.microsoftonline.com/common/oauth2/token';

		var username = //username
		var password = //password
		var clientId = //clientId

		var headers = {
		  'Content-Type' : 'application/x-www-form-urlencoded'
		};

		var formData = {
			grant_type:'password',
			client_id: clientId,
			resource:'https://analysis.windows.net/powerbi/api',
			scope:'openid',
			username: username,
			password: password
		};

		request.post({
			url:url,
			form:formData,
			headers:headers

		}, function(err, result, body) {
			if(err) return reject(err);
			var bodyObj = JSON.parse(body);
			resolve(bodyObj.access_token);
		})
	  });
	}