Вход в API vCloud Director с использованием PHP - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь впервые использовать API-интерфейс vCloud с использованием PHP. Это первые 2 шага в документации - https://pubs.vmware.com/vca/index.jsp#com.vmware.vcloud.api.doc_56/GUID-6DC15CF5-3BCF-4426-9988-C71E7A71CBD6.html

  1. Отправьте vCloud Director запрос версии API для получения URL-адреса входа для API REST.

  2. Используйте URL-адрес входа для создания сеанса входа. Отправьте запрос на этот URL-адрес, содержащий имя пользователя, пароль и название организации в кодировке MIME Base64.

Однако я не могу создать сеанс входа в систему, используя информацию для входа, которую я использую при входе в графический интерфейс vCloud.

Ниже мой код:

//step 1
$url = 'https://vcloud.neural.net.au/api/versions';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

$oXML = new SimpleXMLElement($result);
$loginURL = null;
foreach($oXML->VersionInfo as $oEntry){
    $loginURL = $oEntry->LoginUrl;
    break;
}

//step 2
$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_POST, 1);

$loginData = 'api@System:password_here';
$data = base64_encode($loginData);
curl_setopt($curl2, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl2, CURLOPT_URL, $loginURL);
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);

$result2 = curl_exec($curl2);
curl_close($curl2);

var_dump($result2);

$ result2 возвращает только false.

Любые входные данные будут с благодарностью.

Спасибо.

...