Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Anonymous
Not applicable

How to disable multi factor authentication to use POwer BI REST API

Hi,

 

I am running a powershell script to get the refresh history of all pbi reports of respective workspaces.

Problem: I need to run the script manually, I mention here manually because whenever I run the script it ask me to validate my Microsoft account by entering the pin code (multi-factor authentication). Due to this I am not able to automate the script. I don’t know if it is possible to get authentication token without validating the account or to disable multi-factor authentication. Any suggestion would be really helpful.

Below is the code to Get authentication token:

 

$clientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Calls the Active Directory Authentication Library (ADAL) to authenticate against AAD

 

function GetAuthToken

{

    $adal = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.2\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"

   

    $adalforms = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.2\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"

 

    [System.Reflection.Assembly]::LoadFrom($adal) | Out-Null

 

    [System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null

 

    $redirectUri = "https://oauth.powerbi.com/PBIAPIExplorer"

 

    $resourceAppIdURI = "https://analysis.windows.net/powerbi/api"

 

    $authority = "https://login.microsoftonline.com/common/oauth2/authorize";

 

    $authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority

 

    $authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto")

 

    return $authResult

}

 

# Get the auth token from AAD

$token = GetAuthToken

 

Thanks in advanced

5 REPLIES 5
CompactGreen
Frequent Visitor

Have you tried using Service Principal/App Registration via AAD? Make sure you assign PowerBI API Permissions for the registration and then you can get an access token for the registration

Thanks for reply.

Yes, I had tried out service principal way earlier, when didn't have powerbi pro account. And, it hadn't work earlier.

Which is why, I had purchase powerBI pro.

 

I don't recall the actual error now, but somewhere it was related to not able to generate access token.

 

For now, I got unblocked by disabling multi factor authentication using following:

https://community.powerbi.com/t5/Service/Disabling-multi-factor-authentication-for-power-bi/m-p/1087...

piper
Frequent Visitor

Had you succeeded in disabling multi factor authentication for power bi rest api?

Anonymous
Not applicable

@piper,

 

Thank you for reply, unfortunately no.

 

 

I am also stucked with same issue since couple of days.

Can you share what work around you had used to get things working?

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.