首页 > 解决方案 > 使用 CURL 从 CRM API 中提取数据引发错误

问题描述

我必须与我们公司正在使用的 CRM 集成,即 Snapforce CRM。我只是想使用他们在文档中的示例代码来提取数据,但它返回了一个错误:

Error: Cannot create object

我复制的示例脚本直接来自他们的api 文档

到目前为止,这是我的脚本,我几乎完全按照他们的原样复制了它。

$url = 'https://crm.snapforce.com/vintage/sf_receive_request.inc.php';
$curl = curl_init($url);
$fetchRecords = "format=xml&api_user=$api_user&api_key=$api_key&module=Leads&status=Active&method=fetchRecords";
curl_setopt($curl, CURLOPT_FAILONERROR, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POST_FIELDS, $fetchRecords);
$r = curl_exec($curl);
curl_close($curl);
libxml_use_internal_errors(true);
$xml = simplexml_load_string($r) or die("Error: Cannot create object");
foreach ($xml as $xml1) {
    echo $xml1->lead_id."\n";
    echo $xml1->type."\n";
    echo $xml1->website."\n";
    echo $xml1->contact_first."\n";
}

这是我如何尝试遍历对象的问题,还是我错过了带有 CURL 的 setopt?任何建议将不胜感激。

标签: phpapi

解决方案


CURLOPT_POST_FIELDS 不是有效选项,它是 CURLOPT_POSTFIELDS。


推荐阅读