通过Rest api php从salesforce获取潜在客户时,会话ID无效
您好,我需要通过RESTAPI从销售人员那里获得线索。到目前为止,我已经通过RESTAPI成功地完成了oauth,我得到了以下回复通过Rest api php从salesforce获取潜在客户时,会话ID无效,php,rest,session,salesforce,invalidation,Php,Rest,Session,Salesforce,Invalidation,您好,我需要通过RESTAPI从销售人员那里获得线索。到目前为止,我已经通过RESTAPI成功地完成了oauth,我得到了以下回复 stdClass Object ( [access_token] => 1111xxxxxxxx44444444444444 [instance_url] => https://eu7.salesforce.com [id] => https://login.salesforce.com/id/000000000 [
stdClass Object
(
[access_token] => 1111xxxxxxxx44444444444444
[instance_url] => https://eu7.salesforce.com
[id] => https://login.salesforce.com/id/000000000
[token_type] => Bearer
[issued_at] => xxxxxxxxxxxx
[signature] => xxxxxxxxxxxx
)
之后,为了获得联系线索,我使用下面的代码
$email = 'test_@gmail.com';
$query = 'SELECT Id, Email FROM Lead';
if($email != null){
$query .= sprintf("WHERE Email ='%s'", $email);
}
$url = $instance_url. '/services/data/v33.0/query?q=' . urlencode($query);
$paramsnew = "access_token=$access_token";
$urlcurl = curl_init($url);
curl_setopt($urlcurl, CURLOPT_HEADER, false);
curl_setopt($urlcurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($urlcurl, CURLOPT_POST, true);
curl_setopt($urlcurl, CURLOPT_POSTFIELDS, $paramsnew);
curl_setopt($urlcurl, CURLOPT_SSL_VERIFYPEER, false);
$urljson_response = curl_exec($urlcurl);
echo $urljson_response;
curl_close($urlcurl);
但作为回应,我的反应是
[{"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}]
请建议如何修复此问题。最后,我使用以下代码修复了此问题
$firstname = 'rohit';
$query = 'SELECT FirstName , LastName ,Id, Email FROM Lead ';
if($firstname != null){
$query .= sprintf("WHERE FirstName ='%s'", $firstname);
}
$url = $instance_url. '/services/data/v33.0/query?q=' . urlencode($query);
$paramsnew = "access_token=$access_token";
$urlcurl = curl_init($url);
curl_setopt($urlcurl, CURLOPT_HEADER, false);
curl_setopt($urlcurl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($urlcurl, CURLOPT_HTTPGET, 1);
curl_setopt($urlcurl, CURLOPT_HTTPHEADER,
array("Authorization: OAuth $access_token"));
curl_setopt($urlcurl, CURLOPT_SSL_VERIFYPEER, false);
$urljson_response = curl_exec($urlcurl);
print_r(json_decode($urljson_response));
curl_close($urlcurl);
我们需要像这样传递访问令牌
curl_setopt($urlcurl, CURLOPT_HTTPHEADER,
array("Authorization: OAuth $access_token"));
我们需要使用旋度的get方法
curl_setopt($urlcurl, CURLOPT_HTTPGET, 1);
1新API版本的rest客户端响应的更多示例 会话(承载令牌)仅持续20分钟,然后需要新的验证。另外,对象和$access\u令牌之间的路径是什么