php - 使用 PHP 和 cURL 连接到 Insightly API

标签 php api curl insightly

我已经在下面粘贴了我的代码。 我得到一个空字符串,没有 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/

相关文章:

php - mysql php 累积平均值

api - net.Socket.writable、net.Socket.readable 属性不是官方 node.js API 的一部分

curl - 设置证书验证位置时出错(Vagrant、Guzzle、curl)

php - 在 PHP 中正确快速地进行 TELNET 的方法。套接字或 curl

php - 如何获取动态创建的提交按钮的发件人 ID?

PHP,openId - 无法写入mysql

php - 如何获取 : Time Zone Setting of FTP Server?

java - Method.isBridge 用于什么?

java - 在 Java 中使用 JSON API

curl - 列出 ElasticSearch 服务器上的所有索引?