【问题标题】:INVALID_SESSION_ID in getting leads from salesforce through Rest api phpINVALID_SESSION_ID 通过 Rest api php 从 salesforce 获取潜在客户
【发布时间】:2017-07-06 04:30:34
【问题描述】:

您好,我需要通过 rest api 从销售人员那里获取线索,因为到目前为止,我已经通过 rest api 成功完成了 oauth,并且得到了以下回复

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"}]

请建议我如何解决这个问题。

【问题讨论】:

  • 会话(承载令牌)仅持续 20 分钟,然后才需要新的验证。还有对象和 $access_token 之间的路径是什么

标签: php rest session salesforce invalidation


【解决方案1】:

最后我用下面的代码修复了它。

$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"));

我们需要使用curl的get方法。

curl_setopt($urlcurl, CURLOPT_HTTPGET, 1);

【讨论】:

    【解决方案2】:

    新 API 版本的其余客户端响应的另外 1 个示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多