Php 为什么我会犯这个错误?他们的东西我应该换吗?
我想将我的值传递给salesforce api。我正在提取贷款申请编号,正如您在最后一行错误中看到的那样。但它也显示“状态为200时失败”。他们的代码是否需要更改,或者拥有它就可以了。我还想在前端显示贷款申请编号。它的语法是什么。我已经尝试过php的数组语法,但它不起作用。错误如下Php 为什么我会犯这个错误?他们的东西我应该换吗?,php,json,salesforce,lead,Php,Json,Salesforce,Lead,我想将我的值传递给salesforce api。我正在提取贷款申请编号,正如您在最后一行错误中看到的那样。但它也显示“状态为200时失败”。他们的代码是否需要更改,或者拥有它就可以了。我还想在前端显示贷款申请编号。它的语法是什么。我已经尝试过php的数组语法,但它不起作用。错误如下 Error: call to URL https://cs31.salesforce.com/services/apexrest/CreateLoan/ failed with status 200, respons
Error: call to URL https://cs31.salesforce.com/services/apexrest/CreateLoan/ failed with status 200, response HTTP/1.1 200 OK Date: Tue, 01 Mar 2016 12:31:56 GMT Set-Cookie: BrowserId=cLMf4KPnTvqxcif286fSRQ;Path=/;Domain=.salesforce.com;Expires=Sat, 30-Apr-2016 12:31:56 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked "success: Loan Application Number - 804326966", curl_error , curl_errno 0
<?php session_start();
$json=$_SESSION['json'];
$details=json_decode($json);
//var_dump($details);
$name='LoanCreationService';
$instance_url='https://cs31.salesforce.com/services/apexrest/CreateLoan/';
$access_token = $details->{'access_token'};
$message=create_account($name, $instance_url, $access_token);
//echo $message->{'message'};
function create_account($name, $instance_url, $access_token) {
$url = $instance_url;
//$content = json_encode(array("Name" => $name));
$content=$_SESSION['content'];;
//echo $content;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array("Authorization: OAuth $access_token",
"Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
//echo $json_response;
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 201 ) {
die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}
//echo "HTTP status $status creating account<br/><br/>";
curl_close($curl);
$response = json_decode($json_response, true);
echo $id = $response["id"];
return $id;
}
?>
我的代码如下
Error: call to URL https://cs31.salesforce.com/services/apexrest/CreateLoan/ failed with status 200, response HTTP/1.1 200 OK Date: Tue, 01 Mar 2016 12:31:56 GMT Set-Cookie: BrowserId=cLMf4KPnTvqxcif286fSRQ;Path=/;Domain=.salesforce.com;Expires=Sat, 30-Apr-2016 12:31:56 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked "success: Loan Application Number - 804326966", curl_error , curl_errno 0
<?php session_start();
$json=$_SESSION['json'];
$details=json_decode($json);
//var_dump($details);
$name='LoanCreationService';
$instance_url='https://cs31.salesforce.com/services/apexrest/CreateLoan/';
$access_token = $details->{'access_token'};
$message=create_account($name, $instance_url, $access_token);
//echo $message->{'message'};
function create_account($name, $instance_url, $access_token) {
$url = $instance_url;
//$content = json_encode(array("Name" => $name));
$content=$_SESSION['content'];;
//echo $content;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array("Authorization: OAuth $access_token",
"Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
//echo $json_response;
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 201 ) {
die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl));
}
//echo "HTTP status $status creating account<br/><br/>";
curl_close($curl);
$response = json_decode($json_response, true);
echo $id = $response["id"];
return $id;
}
?>
您正在代码中终止它,因为您查找的状态是201,请求返回200,正如您在返回的错误消息中所看到的那样。如果需要,尝试将状态设置为201。状态200 OK,表示您的请求已成功,并且您已经获得了“成功:贷款申请号-804326966”
。见
也许你可以试试这个
$json_response = curl_exec($curl);
//echo $json_response;
$status = curl_getinfo($curl);
if ($output === false || $status ['http_code'] != 200) {
$output = "No cURL data returned for $url [". $status ['http_code']. "]";
if (curl_error($curl))
$output .= "\n". curl_error($curl);
}
//now check the resopose
var_dump($json_response);
//echo "HTTP status $status creating account<br/><br/>";
$key = "success: Loan Application Number -";
$pos = strpos($json_response, $key);
//echo $pos;
$appNumber = substr($json_response,strlen($key)+ $pos,strlen($json_response));
echo $appNumber;
curl_close($curl);
$response = json_decode($json_response, true);
echo $id = $response["id"];
$json\u response=curl\u exec($curl);
//echo$json_响应;
$status=curl\u getinfo($curl);
如果($output==false | |$status['http_code']!=200){
$output=“没有为$url[”$status['http_code']。“]”返回cURL数据;
if(curl_错误($curl))
$output.=“\n”.curl\u错误($curl);
}
//现在检查一下姿势
var_dump($json_响应);
//回显“HTTP状态$status创建帐户
”;
$key=“成功:贷款申请编号-”;
$pos=strpos($json\u响应,$key);
//echo$pos;
$appNumber=substr($json_响应,strlen($key)+$pos,strlen($json_响应));
echo$appNumber;
curl_close($curl);
$response=json\u decode($json\u response,true);
echo$id=$response[“id”];
感谢您的回复。你能告诉我如何从整个回复中只获取贷款申请号吗。