私の要件は、Pythonを使用してPower BIにリアルタイムデータをプッシュし、最初にデータベースから読み取り、Power BIのStreamingデータセット内でデータを送信することです。Pythonを使用したPower BI APIのアクセス
私が最初に望むのは、Power BIに対して簡単な「get」コールを行うことです。
official documentationは、クライアントアプリケーションまたはWebアプリケーションのいずれかのREST API経由でPower BIに接続するプロセスを説明しています。 しかし、私はPythonを使用しています - それがクライアントアプリケーションかWebアプリケーションのどちらかであるかどうかはわかりません。
とにかく、私は(これは、ユーザ名とパスワードを要求されていません注意してください)アダルライブラリとauthority_uri、テナント、のclient_idとclient_secretを要求する方法.acquire_token_with_client_credentialsを、使用してaccessTokenを取得することができています。 ところで、私も.acquire_token_with_username_passwordでaccessTokenを取得しようとしましたが、それはうまくいきませんでした。私が得たaccessTokenと、以下のコードを使用する場合
は残念ながら、私は他のStackOverflowの記事を読んで、コンソールアプリケーションを見た後、私はこれが動作しない理由を信じて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にアクセスします。