Forum Discussion

oflok000's avatar
oflok000
Frequent Visitor
8 years ago
Solved

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);
  • 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. :smileyhappy:

    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='[email protected]',
        password='secret',
        client_id='22a6fc5a-46fe-4f85-8168-281ece441742'
    )
    
    access_token = token['accessToken']

     

    Regards

1 Reply

  • v-ljerr-msft's avatar
    v-ljerr-msft
    Microsoft Employee

    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. :smileyhappy:

    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='[email protected]',
        password='secret',
        client_id='22a6fc5a-46fe-4f85-8168-281ece441742'
    )
    
    access_token = token['accessToken']

     

    Regards