我想在我的项目symfony 4中集成高级统计信息 所以我决定使用PowerBI(如果您有其他选择,请告诉我),
我的问题是如何将其集成到本地项目symfony4中以及与数据库MySQL相关联
答案 0 :(得分:0)
到现在为止,没有用于power bi的Symfony捆绑包,但是您可以使用: adevait/power-bi
如果找不到所需的选项,则可以使用本机power bi rest api
您需要创建一个帐户并通过创建数据集等来对其进行管理...
要求:
这里的重点是创建例如管理调用api的服务:
身份验证示例:
try {
/** @var GuzzleHttp\Client $client **/
$response = $client->post(
'https://login.windows.net/<tenant-id>/oauth2/token',
[
"headers" => [
"Accept" => "application/json"
],
'form_params' => [
'resource' => 'https://analysis.windows.net/powerbi/api',
'client_id' => $this->clientId,
'client_secret' => $this->secret,
'grant_type' => 'password',
'username' => $this->username,
'password' => $this->password,
'scope' => 'openid',
]
]
);
$body = json_decode($response->getBody()->getContents(), true);
return $body['access_token'];
} catch (ClientException $e) {
return ['error' => $e->getMessage()];
}
这时,您需要令牌来调用其他端点,因此需要将返回的令牌注入到您发送的任何请求的标头中,如:
try {
/** @var GuzzleHttp\Client $client **/
$client->post(
https://api.powerbi.com/v1.0/myorg/groups/<group-id>/datasets/<dataset-id>/tables/<table-name>/rows,
[
'headers' => [
"Accept" => "application/json",
"Authorization" => sprintf("Bearer %s", $token),
],
'json' => $data
]
);
return true;
} catch (ClientException $e) {
return false;
}
希望对您有帮助。