cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
oflok000
Frequent Visitor

access token power bi python

Hello

I wrote code using sample on python. All the time I have 400 Bad request. Where can be problem?

import urllib
import json
import requests

url = 'https://login.microsoftonline.com/common/oauth2/token'
data = {
    'grant_type':'password',
    'scope':'openid',
    'resource':'https://analysis.windows.net/powerbi/api',
    'client_id':'here id',
    'client_secret': 'here secret',
    'username':'here username',
    'password':'here password'
       }
response = requests.post(url,data=data)
#print(data)
print(response);
1 ACCEPTED SOLUTION
v-ljerr-msft
Microsoft
Microsoft

Hi @oflok000,

And to add to that post, everything about authentication using .NET should work just as well with the equivalent Python library adal - https://github.com/AzureAD/azure-activedirectory-library-for-python

According to this similar thread, you should be able to use the Python library adal to get the access token with Power BI Rest API. The sample code below is for your reference. Smiley Happy

import adal

authority_url = 'https://login.microsoftonline.com/testcompany.onmicrosoft.com'
context = adal.AuthenticationContext(
    authority_url,
    validate_authority=True,
    api_version=None
)

token = context.acquire_token_with_username_password(
    resource='https://analysis.windows.net/powerbi/api',
    username='john.doe@testcompany.onmicrosoft.com',
    password='secret',
    client_id='22a6fc5a-46fe-4f85-8168-281ece441742'
)

access_token = token['accessToken']

 

Regards

View solution in original post

1 REPLY 1
v-ljerr-msft
Microsoft
Microsoft

Hi @oflok000,

And to add to that post, everything about authentication using .NET should work just as well with the equivalent Python library adal - https://github.com/AzureAD/azure-activedirectory-library-for-python

According to this similar thread, you should be able to use the Python library adal to get the access token with Power BI Rest API. The sample code below is for your reference. Smiley Happy

import adal

authority_url = 'https://login.microsoftonline.com/testcompany.onmicrosoft.com'
context = adal.AuthenticationContext(
    authority_url,
    validate_authority=True,
    api_version=None
)

token = context.acquire_token_with_username_password(
    resource='https://analysis.windows.net/powerbi/api',
    username='john.doe@testcompany.onmicrosoft.com',
    password='secret',
    client_id='22a6fc5a-46fe-4f85-8168-281ece441742'
)

access_token = token['accessToken']

 

Regards

View solution in original post

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Top Solution Authors
Top Kudoed Authors