我想从名为BirdEye的Third_party API中获取数据。我正在使用CURL的Core PHP内置函数来获取数据,它工作正常,现在当我切换到库时,我有点困惑,因为它没有给我任何响应作为回报。
我从这里下载了Curl Libray:Curl Library Download and Example
我试图创建一个演示只是为了检查我的图书馆是否正常工作,它有效。现在,如果我从Bird-Eye Api获取数据,我不知道它没有给我任何回应。 我的代码在这里:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->library('curl');
$get_url = "https://api.birdeye.com/resources/v1/business/147802929307762?api_key=ApiKeyGoesHere";
echo $this->curl->simple_get($get_url, false, array(CURLOPT_USERAGENT => true));
echo $this->curl->error_code;
$this->load->view('welcome_message');
}
}
我不知道我哪里出错我将所有必需的参数传递给Api,当我尝试回复错误代码时它给了我22.我甚至搜索了birdeye文档但没有找到。 链接到Api文档是:Link to BirdEye Api Documentation
答案 0 :(得分:0)
因此,根据BirdEye API,您的cURL脚本应如下所示:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.birdeye.com/resources/v1/business/businessId ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Accept: application/json"
));
$response = curl_exec($ch);
curl_close($ch);
现在,当我将您的图书馆使用代码与上述示例进行比较时,我发现您错过了几个选项的定义。
在将这些选项添加到代码之前,请尝试按照以下部分进行操作:
在示例中,他们没有使用APIKEY,但是当您使用它时,您可能需要将其作为参数传递而不是传递给get_url变量。 这意味着:
$get_url = "https://api.birdeye.com/resources/v1/business/147802929307762";
echo $this->curl->simple_get($get_url, array('api_key' => 'YourApiKeyGoesHere'), array(..));
如果仍然无效,请尝试将选项添加到您的代码中:
$this->load->library('curl');
$get_url = "https://api.birdeye.com/resources/v1/business/147802929307762?api_key=ApiKeyGoesHere";
echo $this->curl->simple_get($get_url, false, array(CURLOPT_USERAGENT => true, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HEADER => FALSE, CURLOPT_HTTPHEADER => array("Content-Type: application/json", "Accept: application/json")));
echo $this->curl->error_code;
$this->load->view('welcome_message');