我按照本页http://www.magentocommerce.com/api/rest/Resources/inventory.html#RESTAPI-Resource-StockItems-HTTPMethod-PUT-stockitems--id的说明操作,并且我有以下代码:
$oauthClient->setToken($_SESSION['token'], $_SESSION['secret']);
$resourceUrl = $apiUrl.'/stockitems/429';
$productData = json_encode(array(
'qty' => 982,
'is_in_stock' => 1
));
$headers = array('Content-Type' => 'application/json');
$oauthClient->fetch($resourceUrl, $productData, OAUTH_HTTP_METHOD_POST, $headers);
print_r($oauthClient->getLastResponseInfo());
但我得到了回报
[message:protected] => Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)
我尝试使用这样的XML:
$oauthClient->setToken($_SESSION['token'], $_SESSION['secret']);
$resourceUrl = $apiUrl.'/stockitems/429';
$productData = '<?xml version="1.0"?>
<magento_api>
<qty>99</qty>
</magento_api>';
$headers = array('Content-Type' => 'text/xml');
$oauthClient->fetch($resourceUrl, $productData, OAUTH_HTTP_METHOD_POST, $headers);
print_r($oauthClient->getLastResponseInfo());
我收到错误:
[message:protected] => Invalid auth/bad request (got a 405, expected HTTP/1.1 20X or a redirect)
我不知道我做错了什么? 谢谢你的回复。
答案 0 :(得分:1)
更新商品数量的另一种方法是使用以下有效内容调用/ products /:id API,method = PUT:
{"stock_data" : {"qty" : "123"}}
答案 1 :(得分:0)
您正在使用POST而不是PUT。 HTTP Post用于在Magento中创建项目,但如果您通过ID更新项目(或库存,图像等),则必须使用PUT。
答案 2 :(得分:0)
确保您已分配给管理员用户REST角色。
逐步配置权限: