- woocommerce 版本:3.3.3
- wordpress 版本 4.9.4
- wc-api-java 版本 1.2
我尝试通过 postman 使用 wc-api/v1 和 wc-api/v2,但它们不起作用。只有 wc-api/v3 适用于我的网站。但是当我尝试使用 java 库 wc-api-java 1.2 ( https://github.com/icoderman/wc-api-java ):
OAuthConfig config = new OAuthConfig(
"http://URL",
"ck_XXX",
"cs_XXX"
);
WooCommerce wooCommerce = new WooCommerceAPI(config, ApiVersionType.V2);
// Prepare object for request
Map<String, Object> productInfo = new HashMap<String, Object>();
productInfo.put("name", "Premium Quality");
productInfo.put("type", "simple");
productInfo.put("regular_price", "21.99");
productInfo.put("description", "This field contains description info.");
//Make request and retrieve result
Map product = wooCommerce.create(EndpointBaseType.PRODUCTS.getValue(), productInfo);
System.out.println(product.get("id"));
// Get all with request parameters
Map<String, String> params = new HashMap<String, String>();
params.put("per_page","100");
params.put("offset","0");
List products = wooCommerce.getAll(EndpointBaseType.PRODUCTS.getValue(), params);
System.out.println(products.size());
遇到异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpRequestBase
at com.icoderman.woocommerce.WooCommerceAPI.<init>(WooCommerceAPI.java:21)
at Main.main(Main.java:21)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpRequestBase
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
哪里没有办法使用wc-api/v3?
最佳答案
问题是由于没有 http 客户端。通过使用 maven 添加 apache httpclient 依赖关系解决:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency>
关于java - wc-api/v3 无法通过 wc-api-java 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49051702/