2017-04-19 79 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); 

?>