Я пытаюсь сделать запрос POST на этот URL: https://www.googleapis.com/admin/directory/v1/customer/***/orgunits
, чтобы создать новые организационные единицы.
Это код для запроса cURL:
function exeCurl($url,$method,$body="") {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 40,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_HTTPHEADER => array(
// "Accept: */*",
// "Accept-Encoding: gzip, deflate",
"Authorization: Bearer ". $_COOKIE["LOStoken"],
// "Cache-Control: no-cache",
"Content-Type: application/json",
//"Connection: keep-alive",
"Content-Length: ". strlen($body),
// "Host: www.googleapis.com",
// "cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
Я пытался включить / отключить несколько заголовков, но безуспешно. Это вызов exeCurl:
function createOU($createOUname, $parentOUpath, $description) {
echo $createOUname;
echo $parentOUpath;
echo $description;
$body = array(
"name" => $createOUname,
"description" => $description,
"parentOrgUnitPath" => $parentOUpath
);
$ou = new \Google\OU();
echo $ou->exeCurl("https://www.googleapis.com/admin/directory/v1/customer/***/orgunits","POST",json_encode($body));
}
(где *** - мой идентификатор клиента)
он получает значения Html полей ввода.
I не могу понять, почему это не работает. Я также попытался установить значение таймаута в 0. Я попытался сделать POST-запрос к Postman с теми же значениями, и он там работает.