使用PHP和cURL连接到Insightly API

使用PHP和cURL连接到Insightly API,php,api,curl,insightly,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_HEADE

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

$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中的选项。我不知道这是可能的。我得到了有见地的支持,并为我提供了额外的指导。我在下面发布答案,以防其他人遇到这个问题

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

基于此:您的url无效,需要添加更多内容-此url:提供“v2.1”作为其服务的url。当我尝试使用此代码时,我不断收到404错误。您的API访问设置正确吗?404错误看起来您的连接尝试被他们的防火墙删除了。我的猜测是,您使用的API密钥可能有错误。
$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);