A SDK which makes it easier to work with the PowerBI REST API.
composer require tangent-solutions/powerbi-sdk
You will first have to obtain an authorized access token. See the below example on how to do this with the League OAuth2 Client:
$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => '<client-id>',
'clientSecret' => '<client-secret>',
'urlAuthorize' => 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',
'urlAccessToken' => 'https://login.windows.net/<tenant-id>/oauth2/token',
'urlResourceOwnerDetails' => '',
'scopes' => 'openid',
]);
try {
// Try to get an access token using the resource owner password credentials grant.
$accessToken = $provider->getAccessToken('password', [
'username' => '<Azure-Username>',
'password' => '<Azure-Password>',
'resource' => 'https://analysis.windows.net/powerbi/api'
]);
$token = $accessToken->getToken();
} catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
// Failed to get the access token
exit($e->getMessage());
}
Once you have the access token you can create the client like this:
$client = new \Tngnt\PBI\Client($token);
View or log issues on the Issues tab on the repo.
Copyright (c) Tangent Solutions. All Rights Reserved. Licensed under the MIT license.