Как переписать запрос cURL с PHP на R - PullRequest
0 голосов
/ 09 апреля 2020

Мне нужно выполнить этот запрос в 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 для идентификатора приложения, но это, вероятно, неправильно)

Похоже, мне нужно больше разрешения, может быть, как-то интегрировать мое имя пользователя и пароль в этот запрос тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...