Himanshu Yadav
Himanshu Yadav

Reputation: 13585

CodeIgniter Rest Client

I am trying to access json product response and want to render it on page. When I hit url

http://api-product.skimlinks.com/query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json

it returns response with follwing structure.

-ProductsAPI{
   status: 200,
   products: [
        - {
           merchant: "Newegg",
           id:"111",
    ......
    ......

To run it on codeigniter, installed rest_client with the help of 'Spark'. It is installed properly and runs fine.
Question:

But how to get request for above given url? Code is

function index() {
    $this->load->spark('restclient/2.1.0');
    $this->rest->initialize(array('server' => 'http://api-product.skimlinks.com/query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json'));
    $this->rest->option(CURLOPT_SSL_VERIFYPEER, FALSE);
    $data['products'] = $this->rest->get();
    $this->load->view('index',$data);
}

Not sure what to put in $this->rest->get() method? Key and format?

Upvotes: 0

Views: 3517

Answers (1)

xero
xero

Reputation: 4319

the github readme looks like you need to split up your server and requests

server = http://api-product.skimlinks.com/

request = query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json

so your code should be more like:

function index() {
     $this->load->spark('restclient/2.1.0');
     $this->rest->initialize(array('server' => 'http://api-product.skimlinks.com/'));
     $this->rest->option(CURLOPT_SSL_VERIFYPEER, FALSE);
     $data['products'] = $this->rest->get('query?q=merchant%3A(Amazon%20OR%20Newegg)&key=hide&format=json');
     $this->load->view('index',$data);
 }

but im not sure that url formatting will work (e.g. url encoded GET parameters) but it might! try unescaping the request string if it doesn't work. also, depending on the API, the "query" part of the request might be considered part of the server.

Upvotes: 2

Related Questions