Несмотря на то, что, установив все необходимые заголовки и опции, я не могу обновить запись контакта, используя cURL. Ответ от cURL является пустым, и cur_error () также не показывает никакой ошибки.
Кто-нибудь может подсказать, что не так в приведенном ниже коде?
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
curl_close($curl);
Это должно работать, убедившись, что параметры построены правильно и добавив Content-Type
заголовок:
$data = array(
"GivenName" => "test",
"Surname" => "contact",
"Title" => "",
"CompanyName" => "",
"BusinessPhones" => array("2132323")
);
$params = json_encode($data);
$headers = array(
"User-Agent: Office365Integration/1.0",
"client-request-id: $client_id",
"return-client-request-id: FALSE",
"Authorization: Bearer $access_token",
"Accept: application/json",
"odata.metadata: full",
"Content-Type: application/json");
$url = "https://outlook.office365.com/api/v1.0/me/contacts/$contact_id";
Других решений пока нет …