У меня была эта проблема с Salesforce API и PUT-запросами, и я не могу понять это.У меня есть запрос curl, который должен обновлять запись в Salesforce, но когда я запускаю команду в Postman, я не получаю ответа, никакого статуса или чего-либо еще.Однако, если я запускаю команду curl в моем окне Bash, она обновляет запись, как и ожидалось.Есть идеи?Я использую PHP Slim Framework.
Вот мой запрос Postman:
http://api.local/v1/salesforce/student/010012218?FirstName=dave&LastName=tester
Приложение работает, генерируя токен и канал-носитель, требуемый Salesforce, а затем генерирует URL-адрес запроса скручивания.URL, который генерирует мое приложение:
curl https://my_salesforce_url/services/data/v37.0/sobjects/my_sf_object/010012218 -H 'Authorization: Bearer my_sf_bearer' -H 'Content-Type: application/json' -d @json/account_type_update.json -X PATCH
Я использую функцию PHP exec () для выполнения этой функции, как и во многих других проектах.
Странно то, что я не получаю ответа.Если я добавлю фиктивные параметры в свой запрос Почтальона, я получу ответ об ошибке, но я не получу.
Чтобы добавить к тайне, коллега клонировал мой проект и у него не было никаких проблем.Отправка PUT-запроса через Postman работает как положено.Однако на моей машине это не работает.
Кроме того, я попытался настроить традиционный запрос curl с помощью curl_init () и curl_exec (), но получил аналогичный результат.
I 'м в недоумении.Есть идеи?Мы оба работаем под Win7 x64, используя WAMP и PHP7.Заранее спасибо.
Вот мой полный сценарий:
function updateRecord($object, $id, $json_file) {
//Get Access token//////////////////////////
$response = $this->getToken();
$responseObj = json_decode($response);
$access_token = $responseObj->access_token;
//access token///////////////////////////////
$json_file = $this->json_directory . '/' . $json_file;
$curl = "curl " . $this->salesforce_url ."/" . $object . "/" . $id . " -H 'Authorization: Bearer " . $access_token . "' -H 'Content-Type: application/json' -d @" . $json_file . " -X PATCH";
$response = exec($curl);
$responseArray = json_decode($response,true);
return $response;
}