2013-10-24 42 views
3

我粘貼了下面的代碼。 我收到一個空字符串,沒有捲曲錯誤或任何東西。使用PHP和cURL連接到Insightly API

$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

在此基礎上:https://api.insight.ly/V2/Help/ApiController/Opportunities您的網址是無效的,還有更多的補充 – 2013-10-24 23:07:21

+0

喜袞 - 這個網址:https://開頭的API。 insight.ly/v2.1/Help/Introduction 將「v2.1」作爲其服務的URL。 –

回答

6

以下是工作代碼 - 我必須在頭部發送授權,而不是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); 
+0

當我嘗試使用此代碼時,我總是收到404錯誤。 – Red2678

+0

您的API訪問設置是否正確? 404錯誤看起來像您的連接企圖被他們的防火牆丟棄。我的猜測是,也許你在使用的API密鑰中有錯誤。 –