您好我正尝试通过以下代码将产品发布到Magento
JSONObject productJson = new JSONObject();
JSONObject productParameJson = new JSONObject();
productParameJson.put("sku", "Chair100");
productParameJson.put("name", "Chair");
productParameJson.put("price", "100");
productParameJson.put("status", "1");
productParameJson.put("visibility", "1");
productJson.put("product", productParameJson);
OAuthRequest oauthRequestPost = new OAuthRequest(Verb.POST, "http://magentohost/api/rest" + "/products");
oauthRequestPost.addHeader("Content_Type", "application/json");
oauthRequestPost.addPayload(productJson.toString());
service.signRequest(accessToken2, oauthRequestPost);
Response apiResponsePost = oauthRequestPost.send();
System.out.println(apiResponsePost.getCode());
System.out.println(apiResponsePost.getBody());
但收到以下错误
{"messages":{"error":[{"code":401,"message":"oauth_problem=signature_invalid"}]}}
同样地,如果我尝试使用以下代码获取产品列表,我会得到产品列表。
OAuthRequest oauthRequest = new OAuthRequest(Verb.GET, "http://Magentohost/api/rest" + "/products");
service.signRequest(accessToken2, oauthRequest);
Response apiResponse = oauthRequest.send();
System.out.println(apiResponse.getCode());
System.out.println(apiResponse.getBody());
我在POST方法中做错了什么,请在上面帮助我。
答案 0 :(得分:0)
我能够通过使用下面的依赖来解决上述问题:
<dependency>
<groupId>com.github.scribejava</groupId>
<artifactId>scribejava-apis</artifactId>
<version>4.2.0</version>
</dependency>
修改后的代码here