2017-04-19 20 views
1

カールリクエストを使用してすべての製品を取得したいと思います。私は、ダッシュボードからのAPI統合を介してアクセストークンを生成しました。Magento 2.0でカールリクエストを使用して製品リストを取得する方法

以下は製品リストを取得するためのコードです。

$token = 'xxxxxxxxxxxxxxxxxxxxxx'; 
$url = 'http://myIP/Magento/index.php/rest/V1/products'; 
$params = array('searchCriteria[filter_groups][0][filters][0][field]'=>'page_size','searchCriteria[filter_groups][0][filters][0][value]'=>10); 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_POST, TRUE); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$token)); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
$res = curl_exec($curl); 
$response = json_decode($res); 
print_r($response); 

応答は助けてください

stdClass Object ([message] => %fieldName is a required field. [parameters] => stdClass Object ([fieldName] => product)) 

です。どのように製品を入手するのですか?

+0

任意の提案をしてください。 – Gowri

答えて

0

あなたはこのようにそれを行うことができます。

<?php 

$token = "xxxxxxxxxxxxxxxxxxxxxxxx"; 
$api = "rest/V1/products"; 

$json = ' 
{ 
    "search_criteria": { 
     "filter_groups": [ 
      { 
       "filters": [ 
        { 
         "field": "name", 
         "value": "%", 
         "condition_type": "like" 
        } 
       ] 
      } 
     ], 
     "sort_orders": [ 
      { 
       "field": "name", 
       "direction": "ASC" 
      } 
     ] 
    } 
} 
'; 

$get_params = http_build_query(json_decode($json)); 

$ch = curl_init("http://my.website.com/index.php/".$api."?".$get_params); 

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/json", 
    "Authorization: Bearer ".$token, 
)); 

$result = curl_exec($ch); 
$result = json_decode($result, 1); 
print_r($result); 

?> 
関連する問題