Salesforce cURL PUT请求未更新

时间:2018-10-16 14:39:01

标签: curl salesforce postman slim

我在Salesforce API和PUT请求中遇到了这个问题,无法解决。我有一个curl请求,应该更新Salesforce中的记录,但是当我在Postman中运行命令时,没有响应,没有状态或其他任何信息。但是,如果我在Bash窗口中运行curl命令,它将按预期更新记录。有任何想法吗?我正在使用PHP Slim框架。

这是我的邮递员要求:

http://api.local/v1/salesforce/student/010012218?FirstName=dave&LastName=tester

该应用程序的工作方式是生成Salesforce所需的令牌和承载,然后生成一个curl请求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()函数执行此curl。

奇怪的是我没有回应。如果我在Postman请求中添加了伪造的参数,我应该得到一个错误响应,但是我没有。

更令人费解的是,一位同事克隆了我的项目,发现了零个问题。通过邮递员发送PUT请求的工作正常。但是在我的机器上,它不起作用。

此外,我尝试通过curl_init()和curl_exec()设置传统的curl请求,但收到了类似的结果。

我很茫然。有任何想法吗?我们都使用WAMP和PHP7运行Win7 x64。预先谢谢你。

这是我的完整剧本:

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;
}

0 个答案:

没有答案