我已经在下面粘贴了我的代码。 我得到一个空字符串,没有 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: ");
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
下面是工作代码——我必须在 header 中发送授权,而不是作为 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);
关于php - 使用 PHP 和 cURL 连接到 Insightly API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578269/