Я использую запрос get / post для генерации встраиваемого токена отчета powerbi в php, и я успешно сгенерировал токен доступа, следуя примеру, приведенному в этой ссылке https://community.powerbi.com/t5/Developer/How-To-Get-embed-token-using-Get-Post-only/td-p/294475 но когда я использовал этот токен доступа для генерации встроенного токена для меня, он возвращает пустой массив в ответ. Это мой код
$headers = array(
"Authorization: Bearer <acesstoken generated>");
$url = 'https://api.powerbi.com/v1.0/myorg/groups/<group-id>/reports/<report-id>/GenerateToken';
$post_params = array(
'accessLevel' => 'View',
'datasetId'=>'<dataset-id>'
);
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_params);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
echo $response;
Любая помощь будет оценена спасибо.
После тяжелой работы 1 дня я наконец понял, что использую application id
в параметре ресурса для создания токена доступа вместо этого https://analysis.windows.net/powerbi/api ссылка на сайт. Поэтому, когда я использовал эту ссылку, проблема была решена и успешно сгенерировал токен для встраивания.
Других решений пока нет …