2017-06-06 9 views
0

私の要件は、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にアクセスします。

答えて

0

私はあなたがPowerBIフォーラムでこれを超える回答したことを参照してください。

https://community.powerbi.com/t5/Developer/Access-Power-BI-API-with-Python/m-p/190087#M6029

将来的にこれを訪れる誰もが将来の参考のために:

のpythonアダルライブラリを使用して、トークンを取得します適切な方法。あなたのトークンを持ってたら、そのようなあなたのリクエストヘッダの一部としてであることを渡す:api_urlがhttps://api.powerbi.comある場合は

url = f'{self.api_url}/v1.0/myorg/groups/{self.group_id}/datasets' 
    headers = { 
     'Authorization': f'Bearer {self.token["accessToken"]}' 
    } 

は、GROUP_IDはあなたのGROUP_IDで、トークンは、あなたがacquire_token_with_username_passwordからもらったトークン辞書です。

そこから、必要なすべてのPowerBI APIコールを行うことができます。

関連する問題