使用PHP和cURL连接到Insightly API

时间:2013-10-24 23:03:12

标签: php api curl insightly

我在下面粘贴了我的代码。 我得到一个空字符串,没有卷曲错误或任何东西。

$service_url = "https://api.insight.ly/v2.1/Opportunities";           
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $service_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "-my-base64-encoded-api-key");

$data = curl_exec($ch);
curl_close($ch);

因为Insightly API的文档说密码留空,我也试过

 curl_setopt($ch, CURLOPT_USERPWD, "-my-base64-encoded-api-key:"); 

 curl_setopt($ch, CURLOPT_USERPWD, "-my-base64-encoded-api-key: ");

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:7)

下面是工作代码 - 我必须在标题中发送授权,而不是CURL中的选项。我不知道这是可能的。坚定的支持来了,并提供了额外的指示。我发布了以下答案,以防其他人遇到此问题。

$service_url = 'https://api.insight.ly/v2.1/Opportunities';
$ch = curl_init($service_url);           
curl_setopt($ch, 
            CURLOPT_HTTPHEADER, 
            array('Content-Type: application/json', 
                  'Authorization: Basic my-base64-encoded-api-key'));
curl_setopt($ch , CURLOPT_HEADER, 0);           
curl_setopt($ch , CURLOPT_TIMEOUT, 30);           
curl_setopt($ch , CURLOPT_HTTPGET, 1);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, TRUE);            

$return = curl_exec($ch );    

curl_close($process);