Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago

Push API get request with Python

Hi, 

I have a python program that posts data via requests.post using the Push URL. This works fine. 

 

Is there a way to request.get with a get URL? This would allow me to check what data I already have in the push dataset on Power BI and only post the new data, for example if the program stopped working in the middle of the day. 

 

Thanks for any help

1 Reply

  • AntrikshSharma's avatar
    AntrikshSharma
    Icon for Community Champion rankCommunity Champion

    Anonymous 

    import requests
    import msal
    
    app_id = ''
    tenant_id = ''
    
    username = ''
    password = ''
    
    authority_url = f'https://login.microsoftonline.com/{tenant_id}'
    scopes = [r'https://analysis.windows.net/powerbi/api/.default']
    
    client = msal.PublicClientApplication(app_id, authority=authority_url)
    response = client.acquire_token_by_username_password(username, password, scopes)
    access_id = response.get('access_token')
    
    endpoint = 'https://api.powerbi.com/v1.0/myorg/groups'
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {access_id}'
    }
    response_request = requests.get(endpoint, headers=headers)
    
    if response_request.status_code == 200:
        result = response_request.json()
        for item in result['value']:
            print(item['name'])