我的要求是使用Python將實時數據推入Power BI,以便首先從數據庫讀取數據,然後將數據發送到Power BI中的Streaming數據集。使用Python訪問Power BI API
我想要做的第一件事就是向Power BI發出一個簡單的「致電」。
official documentation解釋了通過客戶端應用程序或Web應用程序的REST API連接到Power BI的過程。 但是,我正在使用Python - 不確定它是客戶端應用程序還是Web應用程序。
無論如何,我能夠使用adal庫和方法.acquire_token_with_client_credentials獲得accessToken,它要求authority_uri,tenant,client_id和client_secret(注意這不是要求用戶名和密碼)。 順便說一下,我也嘗試使用.acquire_token_with_username_password獲得accessToken,但那不起作用。
不幸的是,當我用下面的代碼與所獲得的accessToken,我得到迴應403
#accessToken is received using the adal libary
headers = {'Authorization': 'Bearer ' + accessToken, 'Content-Type': 'application/json'}
read_datasets = requests.get('https://api.powerbi.com/v1.0/myorg/datasets', headers=headers)
#shockingly, this will result in a response 403
閱讀其他計算器帖子,看着控制檯應用程序後,我相信原因這不起作用是因爲沒有用戶登錄過程。
This thread提到,使用客戶端憑證是不夠的(這是足以讓的accessToken,但不足以使用API)
不知道如何着手,但我需要的是也許保持方式使用這adal template,它給了我accessToken,並提供我的用戶名和密碼(如果需要),並與accessToken一起訪問API。