Forum Discussion

sanjeevgaut's avatar
sanjeevgaut
Frequent Visitor
5 years ago
Solved

PowerBIClient does not have any value.

I am trying to read powerbi report using powerbi SDk. I got correct access token (tested in postman). Same access token is passed for TokenCredentials. but not getting any value in _powerBIClient. it has no value. i am using below code.

 

 

var functionCred = new Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential(_configuration[BotConfigurationEnum.FunctionClientId.GetDescription()], _configuration[BotConfigurationEnum.FunctionClientSecret.GetDescription()]);

var userAssertion = (!string.IsNullOrWhiteSpace(token)) ? new Microsoft.IdentityModel.Clients.ActiveDirectory.UserAssertion(token, "urn:ietf:params:oauth:grant-type:jwt-bearer") : null;

var context = new AuthenticationContext("https://login.microsoftonline.com/{tenentid}");
var res = await context.AcquireTokenAsync("https://analysis.windows.net/powerbi/api",
functionCred, userAssertion);

var tokenCredentials = new TokenCredentials(res.AccessToken, "Bearer");

var _powerBIClient = new PowerBIClient(new Uri("https://api.powerbi.com/"), tokenCredentials);
var pbiReport = _powerBIClient.Reports.GetReport(reportId);

 Any help appreatiated. Anonymous

Thanks

  • Instead of 

    var _powerBIClient = new PowerBIClient(new Uri("https://api.powerbi.com/"), tokenCredentials);

    added below and it worked.

    var _powerBIClient = new PowerBIClient(new Uri("https://api.powerbi.com"), tokenCredentials);

     

2 Replies

  • sanjeevgaut's avatar
    sanjeevgaut
    Frequent Visitor

    Instead of 

    var _powerBIClient = new PowerBIClient(new Uri("https://api.powerbi.com/"), tokenCredentials);

    added below and it worked.

    var _powerBIClient = new PowerBIClient(new Uri("https://api.powerbi.com"), tokenCredentials);

     

  • V-lianl-msft's avatar
    V-lianl-msft
    Community Support

    Hi sanjeevgaut ,


    Are you using ClientCredentials (Service principal)?

    Do you enable the service principal for the workspace in Tenant settings and add the security group as an admin of the PowerBI workspace?


    Best Regards,
    Liang
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.