Подключение к Insightly API с использованием PHP и cURL

Я вставил свой код ниже. Я получаю пустую строку назад, нет ошибки скручивания или что-то еще.

$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 ответ

Решение

Ниже приведен рабочий код - мне пришлось отправлять авторизацию в шапке, а не в качестве опции в CURL. Я не знал, что это возможно. Поддержка Insightly прошла и дала мне дополнительные инструкции. Я публикую ответ ниже, если кто-то столкнется с этой проблемой.

$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);
Другие вопросы по тегам