Мне нужно выполнить этот запрос в R для получения токена Azure. Есть ли у вас какие-либо предложения, как это сделать?
$curlPostToken = curl_init();
curl_setopt_array($curlPostToken, array(
CURLOPT_URL => 'https://login.windows.net/myTenantID/oauth2/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'grant_type' => 'password',
'scope' => 'openid',
'response_type' => 'code',
'resource' => 'https://analysis.windows.net/powerbi/api',
'client_id' => 'myClientID',
'client_secret' => 'myClientSecret',
'username' => 'myUsername',
'password' => 'myPassword',
),
));
$tokenResponse = curl_exec($curlPostToken);
curl_close($curlPostToken);
return $tokenResponse;
}
Я пробовал через функцию get_azure_token, но я не уверен, как правильно настроить запрос.
token <- get_azure_token(resource = https://analysis.windows.net/powerbi/api,
tenant = "myTenantID",
app="myClientID",
password="myClientSecret",
auth_type="client_credentials",
use_cache = FALSE)
Я получаю некоторые токен (и выглядит как правильный), но он недействителен.
После вызова 'https://api.powerbi.com/v1.0/myorg/groups/ {GgroupId} / reports' с этим токеном я получаю ошибку 401 или 403 (зависит от того, что какой-то ресурс в get_azure_token, который я использую, я также пытался использовать свой идентификатор URI для идентификатора приложения, но это, вероятно, неправильно)
Похоже, мне нужно больше разрешения, может быть, как-то интегрировать мое имя пользователя и пароль в этот запрос тоже.