【问题标题】:Connecting to Insightly API using PHP and cURL使用 PHP 和 cURL 连接到 Insightly API
【发布时间】:2013-11-03 21:19:40
【问题描述】:

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

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

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

【问题讨论】:

标签: php api curl insightly


【解决方案1】:

下面是工作代码——我必须在标题中发送授权,而不是作为 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);

【讨论】:

  • 当我尝试使用此代码时,我不断收到 404 错误。
  • 您的 API 访问设置是否正确? 404 错误看起来您的连接尝试正在被他们的防火墙丢弃。我的猜测是,您使用的 API 密钥可能有错误。
猜你喜欢
  • 1970-01-01
  • 2016-03-14
  • 2012-02-03
  • 1970-01-01
  • 2017-10-19
  • 2021-02-03
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多